Javascript变量的作用域
可能重复:Javascript变量的作用域,javascript,Javascript,可能重复: 如何将数据变量输出到第二条alert语句 $.post("index.ajax.php", { lookup:value }, function(data) { alert(data) test = data; }) alert(test) 或者有可能做这样的事情吗 function confirm_search(input) { $.post("index
如何将数据变量输出到第二条alert语句
$.post("index.ajax.php", { lookup:value },
function(data) {
alert(data)
test = data;
})
alert(test)
或者有可能做这样的事情吗
function confirm_search(input) {
$.post("index.ajax.php", { lookup:input },
function(data) {
$("#temp").val(data);
})
}
var test = confirm_search(value);
alert(test);
你不能
AJAX是异步的。直到一段时间后,才能获得响应
调用jQuery.post
将开始AJAX请求,并返回处理请求的jqXHR对象。脚本将继续执行(alert(test)
下一步将启动),然后在AJAX请求完成(即收到HTTP响应)后的一段时间内,回调:
function(data) {
alert(data)
test = data;
}
将被执行。您不能
AJAX是异步的。直到一段时间后,才能获得响应
调用jQuery.post
将开始AJAX请求,并返回处理请求的jqXHR对象。脚本将继续执行(alert(test)
下一步将启动),然后在AJAX请求完成(即收到HTTP响应)后的一段时间内,回调:
function(data) {
alert(data)
test = data;
}
将执行。请尝试以下方法:
var test;
$.post("index.ajax.php", { lookup:value },
function(data) {
alert(data)
test = data;
})
function alertTest(){
if(test != undefined) {
alert(test);
clearInterval(t);
}
}
var t = setInterval(alertTest, 1000);
当ajax请求完成并分配测试时,您将获得测试值
var test;
$.post("index.ajax.php", { lookup:value },
function(data) {
alert(data)
test = data;
})
function alertTest(){
if(test != undefined) {
alert(test);
clearInterval(t);
}
}
var t = setInterval(alertTest, 1000);
当ajax请求完成并分配测试时,您将获得测试值。如果您严格要求Scenero,请在全局范围内定义测试变量,这样您就可以在代码中的任何地方使用它。如果您严格要求Scenero,请在全局范围内定义测试变量,这样您就可以在代码中的任何地方使用它