ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery.ajax#get の「予期しないトークン コロン JSON」エラーを修正する方法

jQuery.ajax#get の「予期しないトークン コロン JSON」エラーを修正する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-19 22:57:02634ブラウズ

How to Fix the

jQuery.ajax#get の「予期しないトークン コロン JSON」エラーへの対処

最小限の API から JSON データを取得しようとした場合Node.js で作成した場合、Chrome で「予期しないトークン:」エラーが発生しました。このエラーは通常、サーバーからの予想される JSON 応答と実際の JSON 応答が一致しないために発生します。

jQuery.ajax#get を使用して AJAX 呼び出しを行い、dataType を「jsonp」として指定する場合、サーバーの応答にはJSONP リクエストをサポートするための「パディング」(P)。 JSONP は、JSON データを関数呼び出しでラップすることでクロスドメイン リクエストを可能にする技術です。

この問題を解決するには、サーバー側のコードを変更して応答にパディングを含める必要があります。 Node.js コードに次の行を追加します。

var callback = req.query.callback;
var data = JSON.stringify({
    Name : "Tom",
    Description : "Hello it's me!"
});

if (callback) {
    res.setHeader('Content-Type', 'text/javascript');
    res.end(callback + '(' + data + ')');
} else {
    res.setHeader('Content-Type', 'application/json');
    res.end(data);
}

または、Express.js を使用している場合は、パディングの追加を自動的に処理する res.jsonp() メソッドを利用できます。 :

app.get( '/', function( req, res ) {
    console.log( 'req received' );

    res.jsonp({
        Name : "Tom",
        Description : "Hello it's me!"
    });
});

これらの変更により、サーバーは関数呼び出しにラップされた JSONP 応答を送信します。これは、「予期しないトークン」エラーが発生することなく jQuery.ajax#get によって解析できます。

以上がjQuery.ajax#get の「予期しないトークン コロン JSON」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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