js コード
$.ajax({
タイプ: "post",
URL: "/test1.php",
データタイプ: "json",
タイムアウト: 16000,
data:{cid:n},
success: function(msg){
if(1 == msg.status){
se if (0 == msg.status){
alert('sorry')
}
},
error: function (jqXHR, textStatus, errorThrown) { alert(textStatus+"," +errorThrown); -8") ; //この文はutf8 形式で出力する場合、この文の有無にかかわらず、ajax エラー ブランチは同じ方法で実行されます。
$menu=array("status"=>1);
exit(json_encode ($menu)) );
js: "json" の dataType を削除し、success ブランチを通常どおり実行します。
jquery1.3.2 を使用して、success ブランチも通常どおりに実行します。 ただし、dataType: "json " を指定するだけです。 、エラーブランチをすぐに実行し、「parsererror、テキストからjsonへの変換がありません」というjson解析の問題を報告します。
PHPのjson_encode()関数でも配列をjson形式に変換する際に問題がある可能性がありますか?
ディスカッションへの返信 (解決策)
追加:
/test1.php の内容は、上記の PHP コード です。 dataType: "json"変換が失敗したのはなぜですか?おそらく、php プログラムは utf-8 BOM ヘッダーを持つ形式で保存されています
これは、
2.php
で確認できます。出力結果の先頭の efbbbf は BOM ヘッダーです
マスター、尊敬します!
ポイントが付与されます。