我正在使用以下格式发出 ajax 请求:
$post('url', {someData:true}, myCallbackFunction, 'json);
问题是,如果在服务器端返回 200 以外的任何状态码,则永远不会调用回调函数。
例如,如果用户的会话超时,我想返回 401(未授权)作为状态码,以及带有错误消息的 JSON 对象作为结果。但是,除非状态码是 200,否则不会调用回调函数。
任何想法如何解决这个问题?
我正在使用以下格式发出 ajax 请求:
$post('url', {someData:true}, myCallbackFunction, 'json);
问题是,如果在服务器端返回 200 以外的任何状态码,则永远不会调用回调函数。
例如,如果用户的会话超时,我想返回 401(未授权)作为状态码,以及带有错误消息的 JSON 对象作为结果。但是,除非状态码是 200,否则不会调用回调函数。
任何想法如何解决这个问题?
function errorCallback(response){
alert(response.status + ' ' + response.statusText );
}
$.post('url', {someData:true}, myCallbackFunction, 'json').fail(errorCallback);
有关更多详细信息,请参阅jquery.post。