意外的代幣冒號:解決jQuery.ajax 中的JSONP 錯誤#get
當在jQuery.ajax 中遇到「意外的令牌冒號」錯誤時#get,了解JSONP(帶有Padding 的JSON)請求的本質很重要。 JSONP 涉及將 JSON 資料傳回客戶端的全域 JavaScript 函數呼叫。
要支援 JSONP,伺服器必須在回應中包含「Padding」。 「Padding」由回呼函數名稱後面跟著括號中的JSON 資料組成:
jQuery111108398571682628244_1403193212453({"Name":"Tom","Description":"Hello it's me!"})
要修正此錯誤,伺服器需要在回應中包含「Padding」。此外,jQuery 通常會包含一個帶有函數名稱的回呼查詢字串參數。為了適應這種情況,伺服器程式碼可以使用條件語句來檢查回調參數並相應地發送回應:
varcallback = req.query.callback; var 資料 = JSON.stringify({ 姓名:“湯姆”, 簡介:“大家好,是我!” }); 如果(回調){ res.setHeader('Content-Type', 'text/javascript'); res.end(回呼'('資料')'); } 別的 { res.setHeader('Content-Type', 'application/json'); res.end(數據); }
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); }
app.get( '/', function ( req,資源){ console.log( '收到請求' ); res.jsonp({ 姓名:“湯姆”, 簡介:“大家好,是我!” }); });
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3