请帮我修复以下代码,它总是给出错误
$.ajax({
type: "GET",
url: "http://herokory.herokuapp.com/autocomplete/jsonpCallback/a",
dataType:"jsonp"
}).error(alert('error'));
网址http://herokory.herokuapp.com/autocomplete/jsonpCallback/a支持 jsonp
请帮我修复以下代码,它总是给出错误
$.ajax({
type: "GET",
url: "http://herokory.herokuapp.com/autocomplete/jsonpCallback/a",
dataType:"jsonp"
}).error(alert('error'));
网址http://herokory.herokuapp.com/autocomplete/jsonpCallback/a支持 jsonp
您传递的将方法设置为 jsonp 的键dataType
不是datatype
. 对象键区分大小写
此外,在失败时,jquery 将发送 XHR、textStatus 和 errorThrown。为什么不看看那些?:
...
.done(function (XHR, textStatus, errorThrown) {
console.log(XHR, textStatus, errorThrown);
});
您需要在 ajax 调用之外定义 jsonpCallback:
function jsonpCallback(data) {
// do stuff with data
console.log(data)
}
使用 reponseText 获取有关错误的更多详细信息。你们在同一个域吗?
$.ajax({
type: "GET",
url: "http://herokory.herokuapp.com/autocomplete/jsonpCallback/a",
datatype:"jsonp"
}).responseText
使用JSONP,您需要设置一个回调函数来处理响应。在这种情况下:
http://herokory.herokuapp.com/autocomplete/jsonpCallback/a
您jsonpCallback
在 URL 中指定为函数的名称。因此,在发出 JSONP 请求之前,您需要有一个在全局范围内可见的具有该名称的函数:
function jsonpCallback(data) {
console.log(data);
}
$.ajax({
type: "GET",
url: "http://herokory.herokuapp.com/autocomplete/jsonpCallback/a",
dataType:"jsonp"
}).error(alert('error'));