抛出jQuery可以捕获的AJAX错误

时间:2012-12-21 18:08:21

标签: jquery

使用jquery.ajax()会触发“成功”和“错误”等事件。

似乎只有在调用ajax()的JavaScript函数中发生某些错误时才会触发“错误”,而不是基于从HTTP调用返回的某些错误。

如果在我的服务器端处理中发生了一些错误,我想对成功执行一个操作,而另一个操作。

/是否有一种公认的传递成功或失败的做法,以便客户端JS可以显示错误或成功消息?

@jason - 所以你的代码看起来像这样......

$.ajax({   
    type: "POST",
    dataType: "html", 
    cache: false,  
    url: "ajax_post_action.php",
    success: function(data){            
        if( response.success ) { 
            ...do something... 
        } else {
            ...tell user thre was a problem...
        }          
    },
    error: function(data){                  
        ...tell user thre was a problem...
    }   
    });

1 个答案:

答案 0 :(得分:0)

你有几个选择。

  1. 您可以让服务器的响应包含成功或失败信息。然后让你的ajax success函数检查响应的值并适当地处理它。

    我们使用这种方法。我们的响应是一个JSON对象,至少包含: { success: <bool>, errorMessage: <string> } 然后我们的ajax success函数只需检查if(response.success) { ... }

  2. 即可
  3. 您可以让您的服务将HTTP状态写入包含特定消息的错误代码。然后你的ajax error函数可以处理它。