请问大家在IE8中ajax跨域请求时,遇到这些问题了吗?你们是怎么解决的?
在IE中提示 拒绝访问.
对IE进行下图这样的设置后能正常访问:

但是不可能为每个客户的IE都这样去设置啊..
后来在网上找了一下,用XDomainRequest,但是用它时,就算加了xdr.withCredentials=true;还是不能将sesionID传给服务器.
用IE打开跟踪它的对象时,发现它没有这个属性,也没有设置请求头的方法..在网上找了很久,他们都是通过将sessionID放到请求的URL里做为查询字符串,然后在后台读取的.
可是后台接口中的方法太多,不想去一个个改.也不想改,改了之后移动端的代码也要做改动,工程量大.
问题总结如下:
1,用jquery的ajax,要对客户的IE手动进行设置.有什么办法可以绕过这步呢?js有没有可能设置浏览器选项?
2,用XDomainRequest,post请求中无法传递sessionID或cookie给服务器.除了用查询字符串,还有哪些办法?
3,问个题外话,jquery 中的$.ajax(...) 是用XMLHttpRequest来实现的吗?看它回调函数的名称很像.
现在IE8的使用率还是位居第2,不考虑它都不行啊..唉..很想知道大家在处理它的跨域请求时,都是怎么解决的..(不用jsonP,因为它也要改后台,而且只支持get请求),首次接触跨域,请多指教,谢谢了!
相关推荐
Ajax 跨域如何实现
ajax简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。 下面步入正题 前两天xz问我知不知道ajax怎么实现跨域调用,因为没听过这个概念,所以也知道怎
AJAX的跨域与JSONP(为文章自动添加短址的功能)
什么是AJAX的跨域请求 出于安全的考虑,如果你要从www.a.com通过Ajax来请求另外一个网站www.b.com的内容,浏览器是不允许你这样做的(不理解这里的安全是指什么?想想如果没有这个限制的话,黑客可以做些什么)。那什么样的情况下算是跨域?域名不同那当然算是跨域了,例如a.com向b.com发送请求,这当然就是跨域了,不允许的。不过子域名不同(例如sub.a.com向www.a.com发送请求)甚至是同域名不同端口(例如a.com:80向a.com:8080)也算是跨域的。 下面演示一个跨域的例子: 代码如下: [removed] //
夏玉保整理Ajax学习笔记.doc
夏玉保整理Ajax学习笔记.doc 夏玉保整理Ajax学习笔记.doc夏玉保整理Ajax学习笔记.doc 夏玉保整理Ajax学习笔记.doc
Ajax跨域查询完美解决通过$.getJSON()实现
原因:浏览器安全上做了限制,禁止ajax跨域获得数据。 解决方法:通过jquery提供的$.getJSON()可以跨域获得JSON格式的数据。优点:兼容性强。Java后台代码: 代码如下: protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String callback =req.getParameter(“callback”);//jquery生成的自定义函数名 resp.setCharacterEncoding(“UT
解决jQuery使用JSONP时产生的错误
什么是域,简单来说就是协议+域名或地址+端口,3者只要有任何一个不同就表示不在同一个域。跨域,就是在一个域中访问另一个域的数据。 如果只是加载另一个域的内容,而不需要访问其中的数据的话,跨域是很简单的,比如使用iframe。但如果需要从另一个域加载并使用这些数据的话,就会比较麻烦。为了安全性,浏览器对这种情况有着严格的限制,需要在客户端和服务端同时做一些设置才能实现跨域请求。 JSONP简介 JSONP(JSON with Padding)是一种常用的跨域手段,但只支持JS脚本和JSON格式的数据。顾名思义,JSONP是利用JSON作为垫片,从而实现跨域请求的一种技术手段。其基本原理是利用HT


