原因

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

解决办法

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

Ajax完整请求代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function checkRegisterValue() {

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