ホームページ  >  記事  >  バックエンド開発  >  json_encode() に関する混乱

json_encode() に関する混乱

WBOY
WBOYオリジナル
2016-06-23 13:43:48943ブラウズ

コントローラーでは、次のように書きました

次に、Json 形式を次のようなテキストで出力しました

しかし、受信側では常にシステムエラーが表示され、エンコードが間違っていると表示されました。受信側はすでに

を書き込み、送信コントローラーに UFT-8 エンコーディングを指定しています。
現在、受信側はデータを受け入れることができず、システムエラーであると言います。 。

window.alert("ok"); を使用して成功しました
データが返されたことが証明されましたが、エラーは VAR T にあり、常にシステムエラーが発生しました。 。
どうやって解決しますか?
コードを提供していただけますか?


ディスカッションへの返信 (解決策)

header("Content-type: application/json")
Try

header("Content-type: application/json")
Try


いいえ、この文を追加します受信ページにページ全体が返されました。 。重要なことは、データがまだ取得されていないということです

プロンプトされるシステム エラーは、エラー: システム エラー: -1072896658 です。
どうすればよいですか?

json データを返したい場合は、「標準」の json データを返す必要があります。ここで言う標準とは、それが json データの標準であるというだけではなく、戻り値に他の不正な項目を含めることはできないということです。 !

このエラーは、ファイル BOM ヘッダーなどの他の出力があるために発生する可能性があります。数日前にこの状況が発生しました。私の php ファイルは UTF-8 にエンコードされていました。 Linux では、ファイルの先頭にある余分な文字

-<?php................

が長い間気になっていましたが、最終的に、ファイルの前にある - をすべて削除しました。
コードの他の部分 (スペースなど) が出力される可能性もあります。

出力したいJSONデータを確認しましたが、今は値を受け取ることができません。

この文は常にです。間違っている、つまり受け入れられることを意味します。
より小さい
Ajax システム エラー: -1072896658

XMLHttpRequest オブジェクトによって要求されたドキュメントが正しい utf-8 エンコーディングを指定していない場合、このエラーは、responseText メソッドを呼び出すときに発生します
ブラウザ システムエラー: -1072896658 (エクスプローラー システム エラー: - 1072896658)

別のブラウザを試してください

コードに charset=utf8 を追加しましたが

しかし、PHP ファイルの実際のエンコード形式は何ですか?


次に、Json 形式をテキストで出力しましたが、中国語では utf8 エンコーディングが使用されています。次のようなコードをフロントエンド JavaScript コードに追加します。

data = eval('(' + data + ')'); // 受信したコンテンツが data に格納されているとします。



これが機能しない場合は、JavaScript が埋め込まれている HTML ファイルを含む、関連するすべてのファイル

*.php に header("Content-Type: text/html;charset=utf-8"); を追加します。 charset="utf-8" 8c5373e9c80c737d32f0bf0151cc5cf92cacc6d41bbb37262a98f745aa00fbf0



Ajax オブジェクトを utf8 にエンコードしていますか? コードを投稿してください。 myxml を見て見てください

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。