Jquery实现Ajax同步请求网页的某个Url地址:Post嵌套一个get同步请求

jackxiang 2012-2-14 18:23 | |
有时我们在Post的Ajax请求时还是需要一个Get的请求,但Ajax在Jquery封装的Get,Post都是默认异步的,要想同步还是得更加底层,于是有了下面的代码,其实还有更好的方法,
或者在全局设置Ajax属性

再用post,get就是同步的了

网上也有,Url及内容贴在最下面:



但同时要注意一个关于ajax返回的问题:

这个ajax不能从if(data.code  != 1){return false}  ,是有原因的:那里返回没有用,要的是这个函数的返回值!


以下来自:http://hi.baidu.com/xlianbo1988/blog/item/80a7ed6022b406d6e7113a91.html

由于jquery里默认ajax调用是异步的,所以在一些需要同步执行的场合就会出问题,如我有一个表单,我想在提交它之前对里面的一个文本框进行验证(要提交到服务器上连接数据库验证的),就会出现提交的时候还没等服务器返回验证结果,表单已经被提交了。

解决方法有

1.直接在$.ajax()中设置async: false

       $.ajax({
type: "POST",            //http请求方式
url: "XMLServer",    //服务器段url地址
data: "username=" + username,           //发送给服务器段的数据
dataType: "html", //告诉JQuery返回的数据格式
success: callback, //定义交互完成,并且服务器正确返回数据时调用的回调函数
async: false
});

2.使用$.ajaxSetup({async: false});

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/4982/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2014-3-13 17:23
评论列表
2014-7-28 16:32 | huxiaoguang
用鼠标事件不就行了吗,鼠标离开输入框时就验证
2012-2-23 13:03 | lucy53600 Email Homepage
好帖子,声援不了就果断留下文字支持下.............
2012-2-22 14:29 | lucy19066 Email Homepage
让人奔走相告曰须阅读的好帖
2012-2-22 02:21 | huiercs14565 Email Homepage
一直这么难可能是不能做的事吧
2012-2-19 11:17 | hxngb6vf Email Homepage
楼主说得好,支持一下
2012-2-19 09:46 | yuanmai02096 Email Homepage
想想那些就可气总有一天会消失的
2012-2-19 09:45 | yuanmai43897 Email Homepage
想想那些就可气总有一天会消失的
2012-2-19 06:19 | thank480 Email Homepage
原来是这样啊
2012-2-19 02:12 | hxngb5bf Email Homepage
要看要看。謝謝分享哦
2012-2-17 02:03 | hxngb8mf Email Homepage
支持楼主,长见识了
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]