如何在函数内部更改变量的值

时间:2020-08-03 18:52:51

标签: javascript ajax asp.net-mvc function variables

我想更改变量的值。我尝试了以下方法,但不起作用:

    function MapData() {
      var  bbs=0 ;
        $.ajax({
            url: "/admin/subfactors/BBth",
            type: "GET",
            success: function (result) {
                bbs = result;
               }
            }
        });
        return bbs;
    };

2 个答案:

答案 0 :(得分:2)

$.ajax是异步的,因此您需要等待它完成:

async function MapData() {
    var  bbs=0 ;
    bbs = await $.ajax({
        url: "/admin/subfactors/BBth",
        type: "GET",
    });
    return bbs;
});

然后调用时:

let bbs = await MapData()

答案 1 :(得分:1)

您需要使用回调(或其他方式来处理异步行为)(您的ajax请求是异步的,因此您的返回是在请求完成之前发生的。)

function MapData(cb) {
$.ajax({
    url: "/admin/subfactors/BBth",
    type: "GET",
    success: function (result) {
        cb(result)
       }
    }
});

function cb(result) {
    console.log(result)
}

MapData(cb)