我有一个功能:
function name(type)
{
$.i="";
$.post("name.php", type, function(data, status){
$(".pic").attr("src", data);
$.i=data;
})
alert($.i); //this is not working
}
在上面的代码中,警报显示空警报框。但是,当我有
function name(type)
{
$.i="";
$.post("name.php", type, function(data, status){
$(".pic").attr("src", data);
$.i=data;
alert($.i); //now this is working
})
}
我想返回name.php文件返回的值。 name.php
包含echo "string"
。
它仅用于测试。在第二个给定的代码string
正在显示,但首先它不起作用。
如何从函数返回值并将接收到的值分配给$ .post()外部或函数中声明的变量。
提前致谢。
答案 0 :(得分:5)
post的异步回调是在执行post之后调用的。您可以从post调用函数来对回调中的值返回执行操作。
function name(type)
{
$.i="";
$.post("name.php", type, function(data, status){
$(".pic").attr("src", data);
$.i=data;
//alert($.i); //now this is working
callToFunctionPassingData(data);
})
}
您可以尝试使用deffered执行此post将指导您如何实现它。