关于Ajax无法给请求方法外面的变量赋值

原因

$.ajax默认是异步的, 异步回调在js主线程执行结束后才会被执行

解决办法

如果确实需要获取ajax的结果赋值给请求方法外面的变量,那么可以ajax多加一个参数:async=false,就会同步执行

Ajax完整请求代码

function checkRegisterValue() {

    let imageCode;
    $.ajax({
        url: "/user/getRegisterCode",
        type: "get",
        async: false,
        success: function (result) {
            if (result.success) {
                imageCode = result.imageCode;
            }
        }
    });
}

你可能感兴趣的:(ajax)