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

ajax跨域请求的解决办法

2017-04-20 22:50 405 查看

什么是跨域请求

阻止ajax跨域请求是客户端出于安全考虑设的一道坎,只要是在不同域名下一个请求ajax另一个返回数据必然是不通的。

解决ajax跨域请求的几种办法

写入允许跨域的header头

这是最简单高效的一种方式header头的写法是这样的:

"Access-Control-Allow-Origin: http://a.com"//允许http://a.com跨域调取 "Access-Control-Allow-Origin: *"//允许所有域名跨域调取


通过中间服务器调取数据形成接口

大多数的服务端语言都会有一个方法叫做curl,这个方法的一般作用就是模拟客户端表单提交和从接口读取数据,如果存在跨域问题的话我们可以在本服务器编写一个curl来调取另一个域名下的数据接口,再写成接口或ajax来给本域名下使用,

这种方法就是实现起来太麻烦写的代码量偏多是没有办法时候的办法一般不会用的。

再一种就是jsonp方法

这种方法其实是很久之前就存在的一种独辟蹊径的方法,它的产生基于我们web前端的这么几个特点,

首先src所读取的资源不受跨域限制。

js可以直接用src读取。

js天生支持json,使用json通信没有障碍(当然并非只能用json通信)

服务器可以打包任意字符串,就可以打包成js执行方法的样子打包给src调取。

jsonp的实现demo

写在下一个博客吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ajax js