好吧,这一切都在标题中.我在尝试执行破坏性操作之前尝试检查用户的密码:
$.ajax({
type: 'POST',
url: '/path/to/post.json',
data: { password: '**********' },
success: function() { console.log("Success!"); },
error: function() { console.log("Error!"); }
});
Run Code Online (Sandbox Code Playgroud)
在控制台中:
202 Accepted 123ms
Error!
Run Code Online (Sandbox Code Playgroud)
我认为403 Forbidden用于错误的密码和202接受正确的密码将是适当的响应代码,但我不太了解HTTP说实话.
jQuery版本1.8.3
Esa*_*ija 12
由于202的状态,但由于将响应解析为JSON时出错,因此不会触发错误回调.对于jQuery,2xx并且304是成功的.
如果响应主体是Invalid Password无效的json,并在尝试解析时触发jQuery错误.一个合适的JSON字符串有引号,就像"Invalid Password".您应该使用JSON序列化程序对JSON编码您的响应,而不是手动构建json,您可以看到它容易出错.