js跨域问题
来源:互联网 发布:js display:none 编辑:程序博客网 时间:2024/04/30 20:36
跨域问题,网上资料很多,但是太多复制粘贴,还错误百出,这里我总得说一下吧
- 第一个方法就是jsonp,这个只能采用get方式请求,具体自己百度,由于post用的多,我不喜欢这个方法,直接淘汰
- 第二个方法就是cros跨域,服务端要设置响应头如下
header("Access-Control-Allow-Credentials", true)header("Access-Control-Allow-Origin", request.getHeader("Origin"))
注意"Access-Control-Allow-Origin"不能设置成"*"
function createCORSRequest(method,url){ var xhr=new XMLHttpRequest(); if("withCredentials" in xhr){ xhr.open(method,url,true); }else if(typeof XDomainRequest != "undefined"){//IE10之前的版本使用XDmainRequest支持CORS xhr=new XDomainRequest(); xhr.open(method,url); }else{ xhr=null; } xhr.withCredentials = true; return xhr;}var request=createCORSRequest("post","请求的url");if(request){ request.onload=function(data){ alert(data); }; request.send();}
其中 xhr.withCredentials = true; 是跨域关键
如果用jquery写的话就比较简单了
$.ajax({type : "post",url : "请求的url",dataType:"json",xhrFields: { withCredentials:true },success : function(msg){alert(msg.ret);}});
如果要携带cookie的话,cookie设置成主域名,就可以携带了,当然这是在主域名相同的情况下,二级域名之间的跨域才可以传递cookie
这里我要强调一下用jquery写的话虽然简单,但是要注意jquery插件版本,如果是低版本或者min版本,有可能会不支持这种cros跨域,博主1.7.3的可以用,我曾经就因为用的低版本的min版本,怎么也成功不了,希望猿友们少走点弯路!
0 0
- JS跨域问题
- JS跨域问题
- js跨域问题
- js跨域问题
- js跨域问题
- js跨域问题
- js跨域问题
- js跨域问题
- js跨域问题
- JS跨域问题
- js跨域问题
- JS跨域问题
- JS跨域问题
- js跨域问题
- js跨域问题
- js跨域问题
- Js 跨域问题。
- JS跨域问题
- git管理代码忽略无效文件
- 与VPS相比,云服务器优势有哪些
- 【Unet】Unet动态添加多个主角
- LargeVis可视化技术学习
- hdu 3367 Pseudoforest
- js跨域问题
- window中的cmd中的mysql的相关操作命令
- 从零开始学Makefile(十四)
- CUDA-GPU programming Introduction (1)
- JNI NDK入门
- HTTP协议详解以及POST与GET的区别
- 算法细节系列(11):再谈动态规划
- 【WLAN技术连载帖汇总】
- 浅谈PageRank