20

この質問が何度も寄せられていることは知っていますが、私の問題との類似点が見つかりません。このエラーは Chrome でのみ発生します。他のすべてのブラウザでは問題ありません。いくつかの場所で JSON を使用してデータを返しますが、私のコードは他のブラウザーでも動作するため、何も問題はないと思います。Chrome はエラーがどこにあるかを (コード内で) 表示しません。次のエラーが表示されます。

ここに画像の説明を入力

これが私がJSONを使用する方法です:

$.post("getData.php", {'id' : id}, function(data){
        var obj = jQuery.parseJSON(data);
.
.
.

... some mysqli query
$data = $query->fetch_assoc();
echo json_encode($data);

ここで問題はありません。誰かがこれを手伝ってくれますか。

4

15 に答える 15

17

ネットワーク (コンソール) を確認し、サーバーからの回答を確認できます... "<" は、回答の最初の文字になります。「<"行 Z の未定義のインデックス XY>」のようなもの

于 2013-10-24T21:13:48.660 に答える
4

サンプル アプリケーションをテストすると、これらの 2 行で同じエラー ("Uncaught SyntaxError: Unexpected token <") が発生しました。

<script type = "text/javascript"  src="raphael-min.js"></script>
<script type = "text/javascript"  src="kuma-gauge.jquery.js"></script>

コントロールの後、ローカル ファイルの場所が正しくなく、ローカル サーバー アプリが結果としてデフォルト ページを返すことに気付きました。クライアント アプリはファイルを見つけることができますが、見つかったファイルはデフォルト ページであり、*.js ファイルではありません。だから私は Uncaught SyntaxError: Unexpected token < を受け取ります

インターネット上の元の場所に変更して解決しました。

<script type = "text/javascript"  src="//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.2/raphael-min.js"></script>
<script type = "text/javascript"  src="//www.jqueryscript.net/demo/Creating-Animated-Gauges-Using-jQuery-Raphael-js-kumaGauge/js/kuma-gauge.jquery.js"></script>
于 2016-07-09T16:11:35.070 に答える
2

Chrome (およびおそらく Safari) で発生する可能性のあるエラーをオーバーライドするには、Ajax パラメーターを として設定してみてくださいdataType: "json"。次に、取得する応答が逆シリアル化parseJSON()されるため、を呼び出すべきではありません。obj

于 2013-10-25T07:38:23.543 に答える
1
header("Location: route_to_main_page");

カスタム 404 エラー処理ファイルを使用しているときに、この問題が発生しました。いくつかの html コンテンツをスローする代わりに、メイン ページの URL にリダイレクトすることになっていました。うまくいきました。

次に、これを次のプロジェクトのスケルトンとして使用したため、実際に新しいプロジェクト (別の URL) で「route_to_main_page」を変更しないと「route_to_external_url」になり、コード内の 404 エラー (css スタイルシート、js ライブラリの欠落) が返されます。 「Uncaught SyntaxError: Unexpected token <」。

于 2016-08-17T10:38:38.853 に答える
1

私はこのコードにコメントしました:// $('#description').val('<?php echo $_POST['description']; ?>');そして、そのエラーが発生しました。

于 2016-04-22T16:16:16.173 に答える
0

Ajax ファイルのアップロードなどを実行しようとしている場合は、ajax 応答テキストを出力した後、さらに HTML を表示しないようにする必要があります。おそらく、このエラーメッセージが表示されます。PHP フレームワークを使用している場合は、フレームワークの構文に従ってアプリケーションを終了する必要があります。純粋な PHP をコーディングしている場合は、ajax 応答テキストの後に「exit」を使用できます。

これが解決策を見つけるのに時間を節約するのに役立つことを願っています. :) 幸せなコーディング!!!

于 2014-07-22T04:52:14.950 に答える
0

に変更します

$.post({ 
         url = 'getData.php',  
         data : { 'id' id } , 
         dataType : 'text'
       });

この方法では、ajax はデータを json などに解析しようとしません。

于 2015-05-05T05:39:39.667 に答える