gpt4 book ai didi

jQuery dataFilter 响应未定义

转载 作者:行者123 更新时间:2023-12-01 01:37:37 25 4
gpt4 key购买 nike

我使用 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 函数来预处理我的响应以进行错误处理。但该函数的响应参数始终未定义。然而,在成功函数中,我得到了正确的响应数据。

你知道可能出现什么问题吗?

最佳答案

我可以证实这个问题是一个令人头痛的问题。需要做的是使用 $.ajaxSetup({});以及转换器:

$.ajaxSetup

http://api.jquery.com/jQuery.ajaxSetup/

然后,您需要使用转换器来处理数据类型、数据过滤器、回调和解析。

jQuery.Extensions - 转换器

http://api.jquery.com/extending-ajax/#Converters

虽然您没有通过 $.ajaxSetup 使用转换器 -

$.ajax({ converters: 'params go here' });

由于您面临的情况,作为 jsonp 传递的所有数据都需要应用此转换器。这应该根据您的预期结果类型和需求为您提供更现实的控制。

关于jQuery dataFilter 响应未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9478428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com