IE下使用jquery ajax失效的原因
在分析Bo-blog的代码时,发现js的路径竟然是带参数的,想想有点不可思议。
script type="text/JavaScript" src="images/js/common.js?jsver=2.1.1.3626.0" /script
细细研究下来,有以下三种可能:
2) Javascript和HTML,图片一样,作为静态文件会被浏览器缓存。后面加个随机数,能保证每次请求都是新文件,如common.js?t=12442344。
3) 这个参数是供整体页面中查询js的参数所用,属js外部应用,但绝对不是供js的内部应用。如你有一个html页面,里面写上一段:
script type="text/javascript" src="test.js?a=100 b=2" /script
首先,这个?a=100 b=2是绝对不会影响到test.js的内部函数执行的,因为test.js无法接收到这个参数。
其次,这个?a=100 b=2是可以通过html中的DOM结构访问到这个js路径。如下例:
var Xsrc = document.getElementsByTagName("script")[document.getElementsByTagName("script").length-1].src
此时Xsrc能得到test.js?a=100 b=2,然后通过正则表达式的方法来解析出这些参数:a=100及b=2。然后你拿这两个参数实现一些判断。
最后,回头来看看文首的?jsver=2.1.1.3626.0,第一种肯定是不可能的,不是每一种服务器都支持URLRewrite的。我觉得这个性质介于第二种和第三种之间。没觉得jsver=2.1.1.3626.0有什么实用的,顶多用来判断是什么版本,但这个版本号本来就是从PHP代码中得到的。我觉得这个参数多半是象征性的,没啥实际用处。
script document.write(" script src=test.js?v="+Math.random()+" /s"+"cript "); /script script src=main.js?rnd= ?php echo uniqid();? /script
二前端部分
2 在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random(); //当然这里参数 fresh 可以任意取了
3 第3种方法和第2种类似 在 URL 参数后加上 "?timestamp=" + new Date().getTime(); //推荐使用这种方式
相关文章
- 轻量级jQuery带底栏轮播(焦点图)插件slideBox
- jquery ajax 设置全局(常量和变量)
- jquery带token访问接口ajax
- Ajax基本案例详解之$.ajax的实现
- jquery与ajax应用
- jquery下拉框实现将左边的选项添加到右边区域
- jQuery 2.0.3 源码分析 事件体系结构
- $().each() 与 $.each()区别,以及 jquery ajax 应用
- 第一百九十三节,jQuery EasyUI,Draggable(拖动)组件
- 第一百七十一节,jQuery,高级事件,模拟操作,命名空间,事件委托,on、off 和 one
- Ajax学习(二):模仿jQuery的Ajax封装工具
- jQuery 事件 - delegate() 方法
- js/jquery倒计时发送验证码按钮
- 用原生JS模仿jquery,需要HTML5的支持
- jQuery ajax 获取信息展示在“下拉列表”中
- jQuery UI 实例 - 缩放(Resizable)
- jQuery UI API 类别 - 特效核心(Effects Core)
- jquery扫尾
- jQuery 完成ajax传jsonObject数据,并在后台处理
- jquery trigger
- jquery案例11——模拟小说阅读器