<p>JavaScript의 JSON.stringify로 생성된 JSON 문자열을 구문 분석하기 위해 PHP의 json_decode 함수를 사용하고 있습니다. </p><p>JSON이 유효한 것 같습니다. </p><p>JSON 문자열:
<pre class="brush:php;toolbar:false;">"{"m_user_name":"test","m_user_phone":"+60 12-384 7961","m_user_city":"쿠알라룸푸르"," m_user_linkedin":"example@gmail.com","m_user_g_plus":"example@gmail.com"}"</pre>
<p>JSON 최종 오류 메시지: "구문 오류"</p><p>좋아, 문자열을 json_decode에 직접 붙여넣으면 작동합니다. form_data 개체를 통해 ajax를 통해 문자열을 보낸 다음 post 변수를 디코딩하려고 합니다.
다음은 ajax 요청에 대한 코드입니다.
<pre class="brush:php;toolbar:false;">$.ajax({
유형: "POST",
URL: 아약스URL,
데이터: 형식데이터,
캐시: 거짓,
콘텐츠 유형: 거짓,
프로세스 데이터: 거짓,
beforeSend: 함수 () {
토글_로딩_스피너();
},
성공: 함수(데이터) {
console.log(데이터);
토글_로딩_스피너();
},
});</pre>
<p>preg_replace('/[x00-x1Fx80-xFF]/', '', $JSON_STRING)를 사용하여 원하지 않는 기호를 제거하려고 시도했지만 동일한 오류가 발생했습니다. </p>
json_decode() 함수는 UTF-8로 인코딩된 문자열에서만 작동합니다. 입력의 인코딩이 다를 수 있습니다. 원하지 않는 문자를 제거한 후 인코딩을 UTF-8로 변환해 보세요. 변환 방법에 대한 참고 자료는 다음과 같습니다.
https://www.php.net/manual/en/function.mb-convert-encoding.php