所以我有这个javascript函数,它发送ajax请求以从php变量获取值。

该函数如下所示:

function get_cart_limit() {
$.ajax({
    url: '/w2w/ajax/',
    data: {
        _action: 'get_cart_limit'
    },
    type: 'post',
    timeout: 10000,
    success: function(output) {
        var cartlimit = output;
                    alert(cartlimit); // this gives me the correct value.
        return cartlimit;
    },
    error: function(output){

    }
});


}

当我从另一个这样的函数调用这个函数时:

var cartlimit = get_cart_limit();


我的变量“ cartlimit”未定义。

因此,ajax调用正在工作,但是为什么我不能将值返回给另一个函数呢?
早起对我来说,我的大脑无法正常工作! :)

干杯!

最佳答案

如果您更改cartlimit变量的范围并禁用异步请求,则get_cart_limit()应该返回正确的值

function get_cart_limit() {
var cartlimit;
$.ajax({
    url: '/w2w/ajax/',
    data: {
        _action: 'get_cart_limit'
    },
    type: 'post',
    timeout: 10000,
    async: false,
    success: function(output) {
        cartlimit = output;

    },
    error: function(output){
    }
});
return cartlimit;
}

09-12 07:19