【发布时间】:2012-02-28 16:33:41
【问题描述】:
我正在使用 jQuery.ajax() 通过 jsonp 从外部 api 获取数据。
这是我的 ajax 设置:
var ajax_options = {
dataType: 'jsonp',
jsonp: 'callback',
url: url,
data: parameters,
success: function (response) {
console.log(response); // works, prints the correct data
},
dataFilter: function (response, type) {
console.log(response); // prints undefined
console.log(type); //prints "jsonp"
}
};
$.ajax(ajax_options);
我想使用 dataFilter 函数来预处理我的响应以进行错误处理。但是这个函数的响应参数总是未定义的。然而,在成功函数中,我得到了正确的响应数据。
你知道可能是什么问题吗?
【问题讨论】:
-
我不熟悉下面提到的转换器,但是 jQuery ajax 页面:api.jquery.com/jQuery.ajax 说:“某些类型的 Ajax 请求,例如 JSONP 和跨域 GET 请求,不使用 XHR ; 在这些情况下,传递给回调的 XMLHttpRequest 和 textStatus 参数是未定义的"