变量在javascript中返回未定义的值

时间:2013-04-18 11:17:14

标签: javascript jquery

我正在使用像这样的功能

function example(){
var a;
$.ajax({
        url:"www.example.com/function",
        type: 'POST',
        success: function(result){
        a=result;
            }
    });

alert(a);
}

我需要ajax函数之外的变量

这里我的结果是未定义的。我怎样才能获得价值。 ?

4 个答案:

答案 0 :(得分:8)

您可以指定async: false

等待ajax调用返回
function example(){
    var a;
    $.ajax({
        url:"www.example.com/function",
        type: 'POST',
        async: false,
        success: function(result){
            a=result;
        }
    });
    alert(a);
}

答案 1 :(得分:4)

var a = "I am defined";
$.ajax({
        url:"www.example.com/function",
        type: 'POST',
        success: function(result){
           a=result;
           alert(a);
        }
    });


}

a在调用success的{​​{1}}回拨之前,将不会定义。

答案 2 :(得分:0)

I think you should return the value in the success function itself

function example(){
var a;
$.ajax({
        url:"www.example.com/function",
        type: 'POST',
        success: function(result){
           a=result;
           alert(a);
           return a;
        }
    });
}

答案 3 :(得分:-1)

设置变量a的默认值。