变量不能按预期工作JQuery

har*_*077 0 variables jquery post

我有一个功能:

function name(type)
{
    $.i="";
    $.post("name.php", type, function(data, status){
        $(".pic").attr("src", data);
        $.i=data;

    })
    alert($.i); //this is not working
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,警报显示空警报框.但是当我有

function name(type)
{
    $.i="";
    $.post("name.php", type, function(data, status){
        $(".pic").attr("src", data);
        $.i=data;
        alert($.i); //now this is working
    })

}
Run Code Online (Sandbox Code Playgroud)

我想返回name.php文件返回的值.name.php包含echo "string".它仅用于测试.在第二个给定的代码string显示,但首先它不起作用.

如何从函数返回值并将接收到的值分配给在$ .post()外部或函数中声明的变量.

提前致谢.

Adi*_*dil 5

邮件的异步回调是在执行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);
    })    
}
Run Code Online (Sandbox Code Playgroud)

您可以尝试使用deffered执行此帖子将指导您如何实现它.