jQuery中AJAX的跨域解决方案

WEB前端 waitig 494℃ 百度已收录 0评论

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


本文由【waitig】发表在等英博客
本文固定链接:jQuery中AJAX的跨域解决方案
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)