原因
$.ajax默认是异步的, 异步回调在js主线程执行结束后才会被执行
解决办法
【关于Ajax无法给请求方法外面的变量赋值】如果确实需要获取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;
}
}
});
}
推荐阅读
- mysql|搭建SSM框架并实现增删查改功能
- Java毕业设计项目实战篇|Java项目:网上花店商城系统(java+jsp+servlert+mysql+ajax)
- ajax|掌握 Ajax,第 4 部分: 利用 DOM 进行 Web 响应
- 掌握AJAX|掌握 Ajax,第 4 部分: 利用 DOM 进行 Web 响应 将 HTML 转换为对象模型
- 性能|SQL调优心得(二)(常见性能问题的优化)
- 前端|AJAX学习笔记
- jQuery|jQuery使用手册(七)
- Java|"ruby on rails" with "ajax"
- app|AJAX