我用的是jquery框架的ajax请求,在chrome,FF中正常.
在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
jsonp只支持get啊.也要改后台的方法..每个都加上collback.
在不改后台的前提下,还有哪些方法呢?