我一直在检查,以确保我的
AJAX请求是成功的做这样的事情:
$.post("page.PHP",{data: stuff},function(data,status) { if(status == "success") { //Code here } else { //Error handling stuff } });
检查状态变量是执行此操作的最佳方式,还是有更好的方法确保请求实际执行?我正在考虑一个“成功”的请求,作为一个请求,我发布成功的页面,没有超时(如果服务器关闭,AJAX请求作为一个例子),或返回任何404或500错误.
通过这样调用$.post,您只能在成功处理函数中自动传递.
如果请求出现问题,该方法甚至不执行.
要有更多的控制权可以直接使用$.ajax(),或者传递失败的处理程序.那可能看起来像
$.post("page.PHP",status) { // we're fine here }).fail(function(err,status) { // something went wrong,check err and status });
同样的事情使用.ajax():
$.ajax({ type: 'POST',url: 'page.PHP',data: stuff,success: function( data ) { },error: function(xhr,status,error) { // check status && error },dataType: 'text' });
您甚至可以将更多的ajax事件处理程序传递给$.ajax,如beforeSend修改/读取XHR标头,或者在请求完成时,完成一个处理程序可以触发任何一种方式(错误或不发生).