jQuery中AJAX的跨域解决方案

2017-10-31 20:20:39来源:CSDN作者:zhghxy94人点击

分享

jQuery中封装了ajax的方法,以下主要讨论在这种方法下跨域的问题

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

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台