Php jQuery/Javascript执行顺序?
我想弄清楚这里发生的事情的执行顺序。我使用jquery检索新数据,偶尔会出现异常情况。我如何确定其当前的工作流程顺序应该是这样的:Php jQuery/Javascript执行顺序?,php,javascript,jquery,Php,Javascript,Jquery,我想弄清楚这里发生的事情的执行顺序。我使用jquery检索新数据,偶尔会出现异常情况。我如何确定其当前的工作流程顺序应该是这样的: Onload-get()函数(检索两个div的数据) move()函数通过按钮激活 php具有mysql\u查询更新操作 使用更新的数据库信息重新加载div 函数get(varpass){ varpass=typeof(varpass)!=“未定义”?varpass:“全部”; var j=“”; if(varpass==“all”| | varpass==“le
函数get(varpass){
varpass=typeof(varpass)!=“未定义”?varpass:“全部”;
var j=“”;
if(varpass==“all”| | varpass==“left”){
$(“#左”).hide();
$.get('data.php'{
姓名:j,
p:varpass
},函数(输出){
$('#左').html(输出).fadeIn(250);
});
}
if(varpass==“all”| | varpass==“main”){
$('#main').hide();
$.get('main.php'{
姓名:j,
p:varpass
},函数(输出){
$('#main').html(输出).fadeIn(250);
});
}
}
$(文档).ready(函数(){
获得(“全部”);
});
功能移动(p){
var j=“”;
$.get('move.php'{
姓名:j,
p:p
},函数(输出){
$('#debug').html(输出).fadeIn(1);
});
$('#main').hide();
获取(“主”);
}
我发现有时div会在move.php mysql_查询完成之前检索信息。如何更好地控制执行顺序?我希望信息在再次调用从数据库检索数据之前完成更新
谢谢我相信执行顺序与您期望的完全一样,除了以下代码片段:
function move(p) {
var j = "<?=$_SESSION['username']?>";
$.get('move.php', {
name: j,
p: p
}, function (output) {
$('#debug').html(output).fadeIn(1);
});
$('#main').hide();
get("main"); //this can/will happen before `move.php` completes
}
通过移动
get(“main”)
对于响应回调/处理程序,您可以确保在其他请求返回其响应之前不会执行它。供将来参考,请正确设置代码的格式以确保可读性:)您的意思是希望重复按钮单击在完成之前不调用移动功能吗?@Peter:我的意思是,一旦单击移动按钮,它应该:A.使用调整后的值更新sql,B.从数据库检索信息(假设新数据刚刚更改。我发现它将检索数据,但实际上尚未更新。我想我正在寻找一种强制执行顺序的方法。函数move()应调用php页面,该页面评估它应如何更改,然后更新数据库,然后获取(“main”)将把新数据检索到div中。这更有意义吗?我明白你的意思,@aroth。非常好的解释。非常感谢。
function move(p) {
var j = "<?=$_SESSION['username']?>";
$.get('move.php', {
name: j,
p: p
}, function (output) {
$('#debug').html(output).fadeIn(1);
});
$('#main').hide();
get("main"); //this can/will happen before `move.php` completes
}
function move(p) {
var j = "<?=$_SESSION['username']?>";
$.get('move.php', {
name: j,
p: p
}, function (output) {
$('#debug').html(output).fadeIn(1);
get("main"); //this won't happen until after `move.php` completes
});
$('#main').hide();
}