ホームページ > バックエンド開発 > PHPチュートリアル > jquery ajax jsonの奇妙な問題

jquery ajax jsonの奇妙な問題

WBOY
リリース: 2016-06-20 12:45:24
オリジナル
1270 人が閲覧しました

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"
があるため、ajax エラー ブランチに入る前提は、返されるデータがjson 形式ではありません

parsererror、テキストから json への変換がありません (json 変換に失敗しました) もこの点を証明しています

変換が失敗したのはなぜですか?おそらく、php プログラムは utf-8 BOM ヘッダーを持つ形式で保存されています
これは、
2.php

で確認できます。出力結果の先頭の efbbbf は BOM ヘッダーです

マスター、尊敬します!
ポイントが付与されます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート