Uncaught SyntaxError: 位置 0 で JSON の予期しないトークンです。
Win7 OS php5.4とphpstorm8.3(編集・デバッグ可能なphp IDE)の開発トラブル。
$(function(){
<未定義
var g_table = $("table.data");
var init_data_url = "data.php?action=init_data_list";
$.get(init_data_url,function(data){)
<未定義
var row_items = $.parseJSON(data); //以下のエラーを報告します。
for( var i = 0 , j = row_items.length ; i < j ; i++ ) {。
<未定義
var data_dom = create_row(row_items[i]);
g_table.append(data_dom)を実行します。
}
});
エラーの報告
Uncaught SyntaxError: JSON の位置 0 に予期しないトークン < があります。
(翻訳 Uncaught SyntaxError: jsonデータの位置0に予期しないトークンが見つかりました <)
at Function.parse [as parseJSON] (<匿名>)
at Object.success (course.js:5)
at fire (jquery-3.1.1.js:3305)
at Object.fireWith [as resolveWith] (jquery-3.1.1.js:3435)
at done (jquery-3.1.1.js:9242)
at XMLHttpRequest.<anonymous> (jquery-3.1.1.js:9484)
理由: jsonフォーマットエラー
echo json_encode($data,true); ではデータ文を返しますが、echo json_decode($data) ではデータ文を返します。
関数を正しく使用していないため、返されるデータはjsonデータではなく、最初の文字が " <" となっており、Unexpected token < in JSON at position 0(訳:jsonデータの位置0に認識できないトークンが見つかった < )というエラーが報告される。.
json のチュートリアルは、http://www.w3school.com.cn/json/index.asp でご覧になれます。
jsonのサンプルは以下の通りです。
{
<未定義
従業員数(quot) [
{ "firstName":"Bill" , "lastName":"Gates" }.
{ "firstName":"George" , "lastName":"Bush" }.
{ "firstName":"Thomas" , "lastName":"Carter" }.
]
}
解決策
echo json_encode($data,true) に変更します。
これが問題でない場合、PHPファイルが標準のjson形式で返されるデータデータを与えているかどうかチェックしてください。phpファイルにvar_dump、echo、コメントなどがある場合、返されるjsonデータに影響を及ぼします。
このエラーは基本的にデータjsonのフォーマットの問題ですので、デバッグしてブラウザ内で確認してください。
---------------------
著者:wyx100
出典 CSDN
元記事: https://blog.csdn.net/wyx100/article/details/55802812
著作権について これはブログ主のオリジナル記事です。ブログ記事へのリンクを貼ってください
関連
-
[解決済み] エラー「SCRIPT7002」の解決方法について。XMLHttpRequest: IEで「ネットワークエラー 0x80070005, アクセスは拒否されました。
-
[解決済み] AJAX使用時にGoogle Maps APIが "Uncaught ReferenceError: google is not defined "を投げる。
-
[解決済み] ajaxの応答を待つためにseleniumを取得する方法?
-
[解決済み] AJAXはRest apiなのか
-
[解決済み] check_ajax_referer() は実際どのように動作するのでしょうか?
-
ajax リクエストが Uncaught TypeError を報告しました。不正な呼び出しエラー
-
(フロントエンド)警告。メインスレッドでの XMLHttpRequest の同期は非推奨です。
-
jS Ajaxアップロードファイルのエラー "Uncaught TypeError: 不正な呼び出し"
-
AjaxにおけるbeforeSend関数の使用について
-
ajax+jsonを使用します。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン