0

使用jquery.ajax()有诸如“成功”和“错误”之类的事件被触发。

似乎“错误”仅在调用的 JavaScript 函数中发生某些错误时才会触发ajax(),而不是基于从 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...
    }   
    });
4

1 回答 1

0

你有几个选择。

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

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

  2. 您可以让您的服务将 HTTP 状态写入带有特定消息的错误代码。然后你的 ajaxerror函数可以处理它。

于 2012-12-21T18:12:16.717 回答