解决AJAXCDR与jQuery相冲突的问题

来源:互联网 发布:高清机顶盒mac地址修改 编辑:程序博客网 时间:2024/04/28 03:35

之前在项目中,遇到跨域请求或POST数据,一般都是采用jsonp的方式,但是毕竟IE地址栏的长度是有限的,经过测试,经常在IE6下发生数据丢失这样莫名的问题。

重新选择解决办法,网上提供了一种Cross-domain AJAX using Flash 的方案,相关项目地址为: http://blog.s135.com/ajaxcdr/

 

 

AJAXCDR 拥有两个文件:ajaxcdr.js ajaxcdr.swfAJAXCDR 拥有一个 JavaScript 函数 AjaxCrossDomainRequest() 和一个全局变量 AjaxCrossDomainResponse

 

 

ajaxcdr.js 中,定义的function $ 与jQuery 相冲突,首先替换掉源文件中的两处 $:

 

 

 

在和jQuery结合使用的过程中,有几个地方是需要注意的:

1. 首先,也是最重要的: crossdomain.xml 放置的位置为跨域的网站所在站点的根目录(注意:不是网站的根目录)。比方说A站点跨域请求B站点的内容,那么,crossdomain.xml 必须放置在B站点的根目录下。

 

2. 原来的ajaxcdr.js  编码格式 ANSI编码,需将此编码格式更改为UTF-8 编码格式。否则在IE中会出现fs.XmlHttp  “object doesn't support this property or method” 的错误

3. 页面引用 ajaxcdr.js 记得放在页面的最后边</body> 结束符之前。否则,在IE下无法生效。

 

 

 

 

我已经将修改过的ajaxcdr上传至我的资源,地址为 http://spring21st.download.csdn.net/。

原创粉丝点击