jQuery将ajax结果返回到外部变量中。

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (78)

我在使用Ajax时遇到了一些问题。

如何将Ajax的所有结果赋给外部变量?

我在谷歌上找到了这段代码。

var return_first = (function () {
    var tmp = null;
    $.ajax({
        'async': false,
        'type': "POST",
        'global': false,
        'dataType': 'html',
        'url': "ajax.php?first",
        'data': { 'request': "", 'target': arrange_url, 'method': method_target },
        'success': function (data) {
            tmp = data;
        }
    });
    return tmp;
});

但不工作

有人能知道那个代码有什么问题吗?

提问于
用户回答回答于

你在后面少了一个逗号

'data': { 'request': "", 'target': 'arrange_url', 'method': 'method_target' }

还有,如果你想return_first要保存匿名函数的结果,需要进行函数调用:

var return_first = function () {
    var tmp = null;
    $.ajax({
        'async': false,
        'type': "POST",
        'global': false,
        'dataType': 'html',
        'url': "ajax.php?first",
        'data': { 'request': "", 'target': 'arrange_url', 'method': 'method_target' },
        'success': function (data) {
            tmp = data;
        }
    });
    return tmp;
}();
用户回答回答于

这就是你所需要做的:

var myVariable;

$.ajax({
    'async': false,
    'type': "POST",
    'global': false,
    'dataType': 'html',
    'url': "ajax.php?first",
    'data': { 'request': "", 'target': 'arrange_url', 'method': 'method_target' },
    'success': function (data) {
        myVariable = data;
    }
});

扫码关注云+社区

领取腾讯云代金券