jquery ajax同步异步区别?
jquery$.ajax()同步与异步区别简单来说就是:
1、同步执行的话,会等待后台结果返回,方法才会继续执行下一句
2、异步的话,方法不等后台返回就会继续执行下一句。
jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步。
jQuery Ajax方式上传文件的方法?
jQuery Ajax方式上传文件用到两个对象 第一个对象:FormData 第二个对象:XMLHttpRequest 目前新版的Firefox 与 Chrome 等支持HTML5的浏览器完美...
PHP+jQuery+Ajax实现分页效果jPaginate插件的应用?
这个是自动完成或自动提示插件,推荐jquery-autocomplete,很好很强大。
分页插件推荐jPaginate,效果很好。
这2个都是我用过的jqery插件推荐给你的。
jquery中的ajax中回调函数的怎样用?
jquery ajax 回调函数只要配置正确就可以使用 $.ajax({ url: "test.html", context: document.body, success: function(){ alert("回调函数") }}) 使用代码如上 回调函数实现的机制是:
⑴定义一个回调函数;
⑵提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;
⑶当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。 知道拓展: jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。由John Resig在2006年1月的BarCamp NYC上发布第一个版本。目前是由 Dave Methvin 领导的开发团队进行开发。全球前10000个访问最高的网站中,有59%使用了jQuery,是目前最受欢迎的JavaScript库。 回调函数是应用程序提供给Windows系统DLL或其它DLL调用的函数,一般用于截获消息、获取系统信息或处理异步事件。在计算机程序设计中,回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用。
这一设计允许了底层代码调用在高层定义的子程序。
怎样才能防止重复发送Ajax请求?
简单的回答就是:不要重复发送相同的Ajax请求!
如何做到? 那就要有一定的经验和逻辑处理能力
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。
Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
我们用一个例子来说明一下:
现在要求每隔5秒钟用Ajax去向后台请求一次数据,并把数据放到ID为XX的DIV里
假设后台访问地址:http://127.0.0.1/getdata
用jQuery插件来举例
先说容易犯错的可能性, 上代码:
一眼看去, 没毛病,页面加载完成后开始每隔5秒利用Ajax去拿一次数据,并放到指定的DIV里
但实际运行的时候,因为各种原因(比如网络延迟),会导致上次数据没Load到, 第2次请求又到时间了,结果开始出现重复请求
严重的话简直会排着队在不停的请求都有可能!
上面问题导致的最根本原因是没考虑请求数据时有可能出现的延迟,我们来改进一下:
代码比上面稍长,但它解决几个问题:
- 改用了setTimeout定时器,避免反复发送Ajax请求
- 修改了下次取数据的机制, 变成当前这次请求数据完成后才开始计时5秒再执行下次请求数据
这样可以杜绝了重复发送Ajax请求的需求
当然了, 上次这个方法也还有瑕疵
比如说当某次Ajax请求出错时,每隔5秒请求就再也不会执行了,程序就此中断
解决办法当然是有的,但已经是另一个话题了
对技术有兴趣的欢迎互相关注,相互学习!
有了上面的例子, 题主的问题就好解决, 思路如下:
按钮点击后可以disabled掉, 数据请求成功后再恢复按钮成正常状态即可.
还没有评论,来说两句吧...