是否可以像JSONP一样包装JSON响应?从这种响应格式(这是我得到的响应类型):
{"specialOffer":"rollback","format":"json"}
这种格式
jQuery321049913783140015044_1515731209916({"query":"test"})
我收到解析错误Uncaught SyntaxError:意外的令牌:
但是当我将网址粘贴到浏览器或Chrome Rest客户端时,我可以正确看到响应,所以我不明白如何才能访问响应。
$(document).ready(function(){
$.getJSON({
type: 'GET',
url: 'http://api.urlexample.com/',
contentType: 'application/json; charset=utf-8',
dataType: 'jsonp',
crossDomain: true
})
.done(function(response) {
console.log(JSON.stringify(response.data));
console.log(response);
})
.fail(function (jqXHR, exception) {
var msg_err = "";
if (jqXHR.status === 0) {
msg_err = "Not connect. Verify Network.";
} else if (jqXHR.status == 404) {
msg_err = "Requested page not found. [404]";
} else if (jqXHR.status == 500) {
msg_err = "Internal Server Error [500].";
} else if (exception === "parsererror") {
msg_err = "Requested JSON parse failed.";
} else if (exception === "timeout") {
msg_err = "Time out error.";
} else if (exception === "abort") {
msg_err = "Ajax request aborted.";
} else {
msg_err = "Uncaught Error. "+ jqXHR.responseText;
}
alert(msg_err);
})
.always(function() {
alert("complete");
});
});
如果我使用参数jsonpCallback:myCallback
,它会访问回调函数,但我收到错误:
回调功能
window.myCallback = function(data) {
console.log('Accessed callback');
};
输出
jQuery.Deferred异常:无法分配给只读属性 '未定义'对象'#' TypeError:无法分配给读取 只有财产' undefined'对象#'