jQuery ajax返回值

Jor*_*rge 17 javascript variables jquery

如何从jquery ajax 返回值" pinNumber ",以便我可以将它追加到ajax之外.这是我的代码

var x = pinLast + 1;
    for(i=x;i<=pinMany;i++) {
        var i = x++;
        var cardNumber = i.toPrecision(8).split('.').reverse().join('');
        var pinNumber = '';

        jQuery.ajax({
            type: "POST",
            url: "data.php",
            data: "request_type=generator",
            async: false,
            success: function(msg){
                var pinNumber = msg;
                return pinNumber;
                //pin number should return
            }
        });

        jQuery('.pin_generated_table').append(cardNumber+' = '+pinNumber+'
'); // the variable pinNumber should be able to go here }

如果你不明白,请问我.. ^^谢谢

mea*_*gar 15

默认情况下,AJAX是异步的,你不能在不进行同步调用的情况下从回调中返回值,这几乎肯定是你不想做的.

您应该为success:处理程序提供一个真正的回调函数,并将您的程序逻辑放在那里.

  • 同步Ajax是矛盾的.同步XHR很糟糕. (4认同)

Amj*_*sad 5

var pinNumber = $.ajax({
    type: "POST",
    url: "data.php",
    data: "request_type=generator",
    async: false
}).responseText;
jQuery('.pin_generated_table').append(cardNumber+' = '+pinNumber+' ');
Run Code Online (Sandbox Code Playgroud)

  • 请不要使用这个谁会读这个!!! 这是错的!我们的程序员现在认为ajax就是这样工作的! (2认同)