gpt4 book ai didi

jquery - 如何在 $.post 回调中解析空 JSON 对象而不出错

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

如果我没有向以下帖子返回任何内容,则会收到 AJAX 解析错误:

$.post('user.php', {id: 'job'}, function(data) {
console.log(data.length);
},'json');

我该如何避免呢?我想避免服务器给出任何空答案(例如“0”)以限制带宽消耗(移动应用程序)。

谢谢

最佳答案

如果您想避免空 JSON 响应的解析错误:

var options = {
url: 'http://mysite.com/page',
converters: { "text json": function (json_string) {
if ( typeof json_string != 'string' || !$.trim(json_string).length ) {
return {};
} else {
return jQuery.parseJSON( json_string );
}
}
}
};

$.ajax(options);

注意:此解决方案需要 jQuery 1.5(请参阅 http://api.jquery.com/extending-ajax/#Converters )。

如果您希望将转换器用于每个 json 请求,您也可以将其移至 $.ajaxSetup()。

我发现这很有用,因为 Rails 3 无论如何都会返回空的 JSON 响应以及 HTTP 200 来表示成功的模型删除等 - 因此让 jQuery 将其视为失败并不酷。

关于jquery - 如何在 $.post 回调中解析空 JSON 对象而不出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9851257/

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