我想返回x || $不用彷徨。换句话说,如果x为真,则返回x,否则执行GET调用并返回服务器提供的值。返回本地变量或GET结果
我的尝试在下面列出(理想情况下,它会遵循返回x || y格式,可能使用匿名函数而不是if/then)。
问题是我从我的$ .get函数返回似乎不是我所期望的。
希望能够解释发生了什么。
感谢
$(function(){
function test(x,y) {
if(x==true) {return true;}
else{
//test.php is echo($_GET['y']==123);
$.get('ajax.php',{'y':y},function (status) {return status;});
}
}
alert(test(false,123));
});
'$ .get',像所有的AJAX默认调用,是*异步* - 立即返回给调用者,不会阻塞并等待结果。您需要重构您的'test'函数以接收回调,并在您通过ajax接收到该值时调用该回调函数。 – DCoder
是否可以这样完成,如果x为真,ajax调用永远不会执行? – user1032531
是的,只需立即启动回调,而不是在'$ .get'中使用它。 – apsillers