我不会在提交事件上使用ajax将一些值写入数据库,之后我想再次查询数据库(使用ajax)以检查将在第一个ajax操作之后写入的一些响应。最后,如果响应值为“ok”,那么我想刷新页面,否则我会在2秒后进行查询,直到响应变得正常!
//Write into database form values on submit event
$('form').submit(function(){
$.post("submitForm.php", { "array": submitedArray});
//HOW to verify if submited values where well written into databse?
return false;
});
//仅在提交后我想查询数据库并根据响应值我将每两秒刷新一次页面(如果响应值不好)或只刷新一次(如果检查的值是好的)
var refresh = setInterval(function(){
$.getJSON('someOtherScript.php', function(data){
$.each(data, function(index, value){
//Check values
});
});
}, 2000);
答案 0 :(得分:1)
onComplete: function(){
setTimeout(function() {$("#ajaxResponse").fadeOut();}, 500);
}
在你的ajax函数中写这个就是这样。它对我有用。
答案 1 :(得分:0)
绝对不要使用setInterval
。 setInterval
将使代码每2秒执行一次,而不是仅在2秒后执行。您要找的是setTimeout
。但是也不要使用它。
看看
http://api.jquery.com/jQuery.post/
帖子可以采用success
参数。这将允许您在第一次完成后运行第二位代码。
答案 2 :(得分:0)
如果我的方法正确,您使用ajax提交表单并希望对回调进行检查。
$.ajax({
url: '/path/to/file',
type: 'POST',
dataType: 'xml/html/script/json/jsonp',
data: {param1: 'value1'},
complete: function(xhr, textStatus) {
//called when complete
},
success: function(data, textStatus, xhr) {
//called when successful
// This is where you will do your get request to find the result you are looking for.
},
error: function(xhr, textStatus, errorThrown) {
//called when there is an error
}
});
答案 3 :(得分:0)
为什么不让初始提交代码检查数据库写入,如果成功则返回成功代码,否则返回错误代码。要么你信任ajax,要么你不相信。