[英]Error in JSON when I am doing a AJAX call in jQuery
嘗試從AJAX調用返回JSON字符串時,控制台中出現以下錯誤。
未捕獲的SyntaxError:意外令牌
我已使用我使用的代碼添加了一個Codepen。
如果單擊轉換按鈕並在控制台中查看,則會看到錯誤。
我無法為自己的生活弄清楚。
謝謝。
JB
http://codepen.io/anon/pen/XJvyWq
jQuery('.convert').click(function(){
jQuery.get("https://rate-exchange.herokuapp.com/fetchRate?from=EUR&to=CAD&callback=?", function(data){
console.log("Data: " + data);
}, 'json')
});
首先刪除“ =”。
要在控制台中顯示字符串,可以使用JSON對象的方法字符串化
jQuery('.convert').click(function(){
jQuery.get("https://rate-exchange.herokuapp.com/fetchRate?from=EUR&to=CAD&callback", function(data){
console.log("Data: " +JSON.stringify(data) );
}, 'json');
});
或者在控制台中顯示對象,您可以編寫:
jQuery的( '轉換')。點擊(函數(){
jQuery.get("https://rate-exchange.herokuapp.com/fetchRate?from=EUR&to=CAD&callback", function(data){
console.log(data );
}, 'json');
});
結果 :
Object {To: "CAD", From: "EUR", Rate: "1.3138"}
刪除回調=? 從要提供的URL末尾開始,或者從.get()方法調用中刪除“ json”。
jQuery('.convert').click(function(){
jQuery.get("https://rate-exchange.herokuapp.com/fetchRate?from=EUR&to=CAD", function(data){
console.log(data);
});});
這是因為jQuery假定在URL中傳遞“回調”參數並鍵入'json'時,響應將為JSONP 。 但是在這種情況下,服務器將發送JSON字符串。 而不是傳遞“?” 如果傳遞現有函數的名稱,則不會引發該錯誤。
服務器當前的響應是:
{"To":"CAD","From":"EUR","Rate":"1.3138"}
如果服務器使用JSONP進行響應,並且您傳遞的回調為“ test”,則響應將為:
test({"To":"CAD","From":"EUR","Rate":"1.3138"})
刪除@SnehalShah所說的第二個參數處的json
,它將起作用
$('.convert').click(function(){
$.get("https://rate-exchange.herokuapp.com/fetchRate?from=EUR&to=CAD&callback=?", function(data){
console.log("Data: " + JSON.stringify(data));
});
});
嘗試這種方式:
jQuery('.convert').click(function(){
jQuery.get("https://rate-exchange.herokuapp.com/fetchRate?from=EUR&to=CAD&callback=?", function(data){
console.log("To: " + data.To);
console.log("From: " + data.From);
console.log("Rate: " + data.Rate);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.