我一直在检查,以确保我的
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标头,或者在请求完成时,完成一个处理程序可以触发任何一种方式(错误或不发生).