<p>PHP の json_decode 関数を使用して、JavaScript の JSON.stringify によって作成された JSON 文字列を解析しています。</p><p>JSON は有効であるようです: </p><p>JSON 文字列: </p>
<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 変数をデコードしようとしています。 </p><p>以下は、Ajax リクエストのコードです。</p><p><br /></p>
<pre class="brush:php;toolbar:false;">$.ajax({
タイプ:「POST」、
URL: ajaxurl、
データ: フォームデータ、
キャッシュ: false、
contentType: false、
プロセスデータ: false、
beforeSend: function () {
toggle_loading_spinner();
}、
成功: 関数 (データ) {
コンソール.ログ(データ);
toggle_loading_spinner();
}、
});</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