解决jQuery ajax请求在IE6中莫名中断的问题


Posted in Javascript onJune 20, 2016

场景还原:给a标签绑定了一个click事件用来触发ajax请求,在IE6中,请求时常会被中断,在非IE6中都一切正常。

<a href="javascript:;" id="btn">click me</a>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
 var url = "http://api.flickr.com/services/"
 "feeds/photos_public.gne?tags=car&"
 "tagmode=any&format=json&jsoncallback=?";
 $( "#btn" ).click(function(){
  $.getJSON( url, function( data ){
   alert( data );
  });
 });
</script>

在IE6中使用Fiddler2监视请求,经常会出现”aborted”,折腾了许久,相当的诡异。后来将a标签换成button,请求正常,最后经提醒,可能是a标签的默认事件中断了请求。但是,在HTML代码中,已经将a标签的href设置成了”javascript:;”,通常这样是可以阻止默认事件了(页面跳转)。a标签的click事件会先执行,然后才执行href的跳转,如果href是一段javascript语句,这个时候就会执行。IE6在执行href的javascript语句时就中断了click触发的ajax请求。使用href=”javascript:;”是为了阻止默认事件,将阻止默认事件的动作移到click事件中就可以解决问题了,这样就不会执行href中的javascript语句了。

$( "#btn" ).click(function(e){
 $.getJSON( url, function( data ){
  alert( data );
 });
 e.preventDefault();
});

注:e.preventDefault(); 这一句的作用就是阻止js中的默认事件。

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - Documentation 文档
Sep 29 Javascript
javascript动态加载实现方法一
Aug 22 Javascript
浅析JS刷新框架中的其他页面 &amp;&amp; JS刷新窗口方法汇总
Jul 08 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
javascript获取flash版本号的方法
Nov 20 Javascript
创建js对象和js类的方法汇总
Dec 24 Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 Javascript
JS组件Bootstrap实现图片轮播效果
May 16 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
Nov 09 Javascript
JS插件plupload.js实现多图上传并显示进度条
Nov 29 Javascript
JS使用数组实现的队列功能示例
Mar 04 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 #Javascript
JS控制层作圆周运动的方法
Jun 20 #Javascript
简单实现jQuery进度条轮播实例代码
Jun 20 #Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 #Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 #Javascript
jQuery插件 Jqplot图表实例
Jun 18 #Javascript
jqPlot jQuery绘图插件的使用
Jun 18 #Javascript
You might like
利用PHP制作简单的内容采集器的原理分析
2008/10/01 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
php类中private属性继承问题分析
2012/11/01 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
JS 事件绑定函数代码
2010/04/28 Javascript
jQuery boxy弹出层插件中文演示及使用讲解
2011/02/24 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
PHPMyAdmin导入时提示文件大小超出PHP限制的解决方法
2015/03/30 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
Bootstrap每天必学之导航条
2015/11/27 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
vue实现中部导航栏布局功能
2019/07/30 Javascript
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
解析Python3中的Import
2019/10/13 Python
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
问卷调查计划书
2014/01/10 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL