您的位置:首页 > Web前端 > JQuery

jQuery中AJAX的跨域解决方案

2017-10-31 15:31 176 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: