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