首頁 > web前端 > js教程 > 主體

如何修復 jQuery.ajax#get 中的「意外令牌冒號 JSON」錯誤?

Barbara Streisand
發布: 2024-10-19 22:57:02
原創
580 人瀏覽過

How to Fix the

解決jQuery.ajax#get 中的「意外令牌冒號JSON」錯誤

在嘗試從簡約API 檢索JSON 資料時當當您在Node.js 中建立時,您在Chrome 中遇到了「Unexpected token :」錯誤。此錯誤通常是由於伺服器的預期 JSON 回應與實際 JSON 回應不符而發生。

使用 jQuery.ajax#get 進行 AJAX 呼叫並將 dataType 指定為 'jsonp' 時,伺服器回應需要「填充」(P) 以支援 JSONP 請求。 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中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板