在jquery.post()中请求成功的含义是什么

时间:2016-06-28 15:53:48

标签: javascript jquery ajax jsp

我检查ajax $ .post()api并查看语句

  

请求成功时执行的回调函数

但我不知道请求成功的含义是什么?

我想做以下事项:
在jsp中通过java将表单数据发送到数据库,如果保存成功,则返回jsp并转到下一步(这是否称为请求成功?),
如果在将数据保存到db的过程中失败(例如,某些表单数据验证失败),则返回jsp并显示错误消息(此调用请求失败)。

怎么做?

我看到api有jqXHR.done(),jqXHR.fail(),但我不知道.done是什么意思?
我需要在java中返回一些东西来告诉这个请求是否成功?并在java中返回一些内容以告诉此请求失败?

2 个答案:

答案 0 :(得分:1)

成功意味着ajax是否能够成功后端服务器。当然,它不会验证数据库的事务是否成功。

使用回调函数意味着如果对ajax的响应为200,则可以提供该函数。如下代码片段:

var jqxhr = $.post( "example.php", function() {
  // code here
});

jqxhr.success(function() {
  alert( "second finished" );
});

但是jqxhr.success是在jQuery 3.0中进行描述的,因此它更喜欢这样做:

var jqxhr = $.post( "example.php", function() {
  //code here
})
  .done(function() {
    alert( "second success" );
  });

此外,一旦交易完成,您可以在ajax的响应中返回它是否成功。然后在完成回调函数中,您可以验证结果并相应地执行成功和失败的步骤。

所以最终的代码库可能如下所示:

 var jqxhr = $.post( "example.php", function() {
      //code here
    })
      .done(function(data) {
        if(data.result == "success"){
//execute the success code
} else {
//execute the failure code
}
      });

希望有所帮助。

答案 1 :(得分:1)

  

请求成功的含义是什么

没有错误,即响应的状态代码为200。

您可以在发生错误时更改响应的状态代码,也可以只更改响应内容,以便在js中执行您想要的操作。