我有一個奇怪的錯誤,解析json數據。字符串jQuery321040763556724467964_1507276501913??
是在JSON響應於標準的AJAX請求,在該點的jquery與jquery在json中的jquery解析錯誤
Uncaught SyntaxError: Unexpected token :
at DOMEval (jquery.js:82)
at Function.globalEval (jquery.js:346)
at text script (jquery.js:9606)
at ajaxConvert (jquery.js:8754)
at done (jquery.js:9222)
at XMLHttpRequest.<anonymous> (jquery.js:9514)
扼流圈和運行AJAX錯誤回調。但是json是有效的,並且如果最後的兩個問號被移除,則可以愉快地完成。
它也完成了(用?)如果不是設置dataType: 'json'
我提供任何數據類型和手動解析響應並傳遞給回調
this.send_ajax = function(payload, cb_success, cb_failed) {
let r = {
url: '/ajax',
type: 'POST',
data: JSON.stringify(payload),
//dataType: 'json', // see nb5137
success: function(response) {
cb_success(JSON.parse(response));
},
error: cb_failed
}
$.ajax(r);
}
這到底是怎麼回事?
回覆備註這不是跨域。
附加的字符串是因爲您似乎接收JSONP,而不是JSON。更改爲'dataType:'jsonp'並刪除'JSON.parse'調用,因爲jQuery已經爲您做了這些。 –
也許我誤解了你,但奇怪的字符串有效地來自服務器。這不是jsonp。 – havlock
你在這裏提出跨域請求嗎?如果你展示了完整的jQuery AJAX請求,它將會有所幫助。很難診斷你看不到的代碼問題。 –