JavaScript-Javascript中 AJAX回调函数的变量作用域的问题
最近的项目一直都有用到Ajax,所以碰到很多奇怪的问题。
表单代码:
<form action="<?php echo base_url('shops/update_shop');?>" method="post" id="shopFormEdit" onsubmit="return checkShop(this);">
<!-- ... 表单 ... -->
</form>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你没有理解js的事件驱动 和 ajax的异步执行机理.
程序执行过程应该是这样的:
onSubmit事件 -> checkEditShop -> post2() -> 注册ajax事件响应函数
ajax调用返回事件 -> xmlhttp.onreadystatechange()
所以ajax响应函数代码 是在 checkEditShop()返回之后才执行.
类似的问题有:
@ajax调用后为什么要等待一会儿才能正常显示?
@jquery ajax回调函数返回值如何赋值给其他变量
多看几个问题, 理解一下原理吧.