我检查ajax $ .post()api并查看语句
请求成功时执行的回调函数
但我不知道请求成功的含义是什么?
我想做以下事项:
在jsp中通过java将表单数据发送到数据库,如果保存成功,则返回jsp并转到下一步(这是否称为请求成功?),
如果在将数据保存到db的过程中失败(例如,某些表单数据验证失败),则返回jsp并显示错误消息(此调用请求失败)。
怎么做?
我看到api有jqXHR.done(),jqXHR.fail(),但我不知道.done是什么意思?
我需要在java中返回一些东西来告诉这个请求是否成功?并在java中返回一些内容以告诉此请求失败?
答案 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中执行您想要的操作。