jQuery AJAX在202响应上调用错误回调 – 不应该是成功回调吗?

前端之家收集整理的这篇文章主要介绍了jQuery AJAX在202响应上调用错误回调 – 不应该是成功回调吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好吧,这一切都在标题中.我在尝试执行破坏性操作之前尝试检查用户的密码:
$.ajax({
  type: 'POST',url: '/path/to/post.json',data: { password: '**********' },success: function() { console.log("Success!"); },error: function() { console.log("Error!"); }
});

在控制台中:

202 Accepted 123ms
Error!

我认为403 Forbidden错误密码和202 Accepted正确密码将是适当的响应代码,但我不太了解HTTP说实话.

jQuery版本1.8.3

解决方法

由于202的状态,但由于将响应解析为JSON时出错,因此不会触发错误回调.对于jQuery,2xx和304是成功的.

如果响应正文是无效密码,它是无效的json,并在尝试解析时触发jQuery错误.一个合适的JSON字符串有引号,如“无效密码”.您应该使用JSON序列化程序对JSON编码您的响应,而不是手动构建json,您可以看到它容易出错.

原文链接:https://www.f2er.com/jquery/178549.html

猜你在找的jQuery相关文章