jQuery中AJAX的跨域解决方案
2017-10-31 15:31
176 查看
jQuery中封装了ajax的方法,以下主要讨论在这种方法下跨域的问题
显然这种方法需要你能够修改服务端的代码
使用这种方法在谷歌浏览器下依然可能会有限制,可能会有报错”Origin null is not allowed by Access-Control-Allow-Origin”,一个解决方法是将文件都放到一个服务器上,第二个解决方式右键谷歌浏览器,点击属性,在位置后面加上–disable-web-security
这种方法只支持GET,不支持POST,而且传回的数据大小有限制。
还有一点要注意的是,jsonp的格式与json略有不同,要对传回的格式加以修改才行
然而在无法修改服务端代码的情况下,上面的方法显然不够,这里推荐cors的方法,这里推荐阮一峰的博客或者查MDN
1. 在服务端添加响应头
header('Access-Control-Allow-Origin', '*') header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')
显然这种方法需要你能够修改服务端的代码
使用这种方法在谷歌浏览器下依然可能会有限制,可能会有报错”Origin null is not allowed by Access-Control-Allow-Origin”,一个解决方法是将文件都放到一个服务器上,第二个解决方式右键谷歌浏览器,点击属性,在位置后面加上–disable-web-security
2.jsonp
这是一种伪跨域的方法,将ajax方法发生的参数中加上datatype:jsonp,这种方法只支持GET,不支持POST,而且传回的数据大小有限制。
还有一点要注意的是,jsonp的格式与json略有不同,要对传回的格式加以修改才行
然而在无法修改服务端代码的情况下,上面的方法显然不够,这里推荐cors的方法,这里推荐阮一峰的博客或者查MDN
相关文章推荐
- JQuery的Ajax跨域请求的解决方案
- [经验] - JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案
- JQuery的Ajax跨域请求的解决方案
- 利用JSONP解决AJAX跨域问题的原理与jQuery解决方案
- JQuery的Ajax跨域请求的解决方案
- 、 Ajax跨域问题 1. 跨域介绍 1.1. 什么是跨域; 跨域解决方案;jQuery解决跨域操作
- JQuery的 Ajax 跨域请求的解决方案
- JQuery的Ajax跨域请求的解决方案
- JQuery的Ajax跨域请求的解决方案
- 跨域解决方案 & 使用angularJS和jQuery进行Ajax请求的差异
- jQuery.ajax 跨域请求webapi设置headers的解决方案
- 利用JSONP解决AJAX跨域问题的原理与jQuery解决方案
- JQuery的Ajax跨域请求的解决方案
- 跨域解决方案之一---->JQuery.Ajax JSONP解决跨域访问
- JQuery的Ajax跨域请求的解决方案
- JQuery的Ajax跨域请求的解决方案
- JQuery的Ajax跨域请求的解决方案
- [转载]JQuery的Ajax跨域请求的解决方案
- JQuery的Ajax跨域请求的解决方案
- JQuery的Ajax跨域请求的解决方案