我正在学习使用jQuery Ajax。 function(response)
的含义是什么?response == 1
和response == 2
是什么意思?
jQuery.post(ajaxurl, data, function(response) {
if (response == 1) {
$saveAlert.addClass('is-success').delay(900).fadeOut(700);
setTimeout(function() {
$tieBody.removeClass('has-overlay');
}, 1200);
} else if (response == 2) {
location.reload();
} else {
$saveAlert.addClass('is-failed').delay(900).fadeOut(700);
setTimeout(function() {
$tieBody.removeClass('has-overlay');
}, 1200);
}
});
答案 0 :(得分:0)
我将解释基础知识:
jQuery.post
=您想要将一些数据发布到您的终端
ajaxurl
=您的终端地址。通常是API
data
=您要与请求一起发送到您的终端的数据。
function(response)
是您处理来自端点的响应的地方。
让我们来看看代码。首先,使用您要发布的post
向您的端点/ API调用data
。然后,您提供一个回调(在您的情况下是一个函数)来处理端点/ API为您提供的响应。
在您的情况下,如果端点以1
响应,您已成功发布了数据。如果端点以2
响应,则表示您已发布数据并希望重新加载该站点。如果端点未响应1
或2
,则无法发布。
帮助您了解jQuery帖子的基础知识:
编写良好的API /端点应该使用正确的HTTP状态代码和状态消息进行响应,并且在正确发布数据和发生错误时应该非常容易注意到。
我认为您的终端没有任何好处。 response == 1
或response == 2
无论如何都不清楚且易于理解。
处理成功和错误的更好方法是使用jquery帖子的done
和fail
处理程序(详见下文)。
$.post( "test.php" );
这将完全忽略调用端点的响应。即你不想处理成功或错误。请不要使用这个。你应该处理成功和错误!
$.post( "test.php", function( data ) {
//Do something now
});
当端点发送响应时,这将执行您在函数中提供的任何内容。
$.post( "example.php", function() {
//You successfully reached the endpoint
console.log( "success" );
})
.done(function() {
//Handle success here!
})
.fail(function() {
//Handle error here
})
这可能是处理成功和错误的首选方式。很明显,如果你到达fail
,它就会失败。既易于阅读代码又易于理解jquery帖子!
上面的示例是从jquery文档中复制的。
请注意,done
和fail
的先前处理程序为success
和error
,但不推荐使用success
和error
jQuery 3.0!
所以如果你有jQuery版本< 3.0你需要找出你是否需要使用新的或旧的语法,或者你是否需要更新jQuery?
希望这足以让您了解基础知识,并帮助您获得进一步的帮助。我强烈建议你阅读jQuery.post documentation here。我想你也应该阅读w3schools documentation here。