PHPスクリプトへの呼び出しからjQuery.parseJSON()
の応答を解析するために使用しています。jQuery.ajax()
一部のサーバーを除いて、コードは機能します0000
が、応答文字列の先頭に文字が挿入されjQuery.parseJSON()
て失敗します。
それらの文字がどのように挿入されているのかわかりません。何かアイデアはありますか? 文字は、応答をエコーする前に PHP でエンコードされた文字列に含まれていません。
シナリオは次のとおりです。
PHP スクリプトは、次を使用して JSON 文字列を作成します。
$html = json_encode(myArrayOfValues);
echo $html
jQuery.ajax は、エンコードされた文字列を次の場所で受け取ります。
....success: function(html, textStatus){
var response = jQuery.parseJSON(html);
....
問題を修正するために、挿入された文字を削除して変更する機能を追加しました。
var response = jQuery.parseJSON(html);
に:
var response = parseJSONResponse(html);
どこ:
function parseJSONResponse(html){
var foundChar = html.indexOf("{");
if(foundChar > 0 ){
html = html.substring(foundChar);
}
var response = jQuery.parseJSON(html);
return response;
}
最終的には機能しますが、挿入された文字がどこから来ているのか、挿入されないようにする方法があるかどうかを知りたいです。