ajax跨域post请求,如何实现呢

我们都知道,ajax不能做跨域请求,我们首先想到的是jsonp,但是问题来了,它只是支持get请求,如果要传输数据量比较大,get请求就不能满足我们的需求了,我们需要使用ajax的post跨域请求,如何实现呢,我们可以通过cors。

CORS的原理:

   cors是一种跨域访问机制,可以让ajax实现跨域访问,CORS 允许一个域上的网络应用向另一个域提交跨域 AJAX 请求。实现此功能非常简单,我们只需要向服务器发送一个响应标头即可(ie8以上才支持)


 

设置,“*”号表示允许任何域向我们的服务端提交请求,也可以设置成指定的域名。

  • 刚刚说到的兼容性。CORS是W3C中一项较新的方案,所以部分浏览器还没有对其进行支持或者完美支持,详情可移至 http://www.w3.org/TR/cors/
  • 安全问题。CORS提供了一种跨域请求方案,但没有为安全访问提供足够的保障机制,如果你需要信息的绝对安全,不要依赖CORS当中的权限制度,应当使用更多其它的措施来保障,比如OAuth2。
自认为的cors使用场景:

cors在移动终端支持的不错,可以考虑在移动端全面尝试;PC上有不兼容和没有完美支持,所以小心踩坑。当然浏览器兼容就是个伪命题,说不准某个浏览器的某个版本就完美兼容了,说不准就有点小坑,尼玛伤不起!

jsonp是get形式,承载的信息量有限,所以信息量较大时CORS是不二选择;

配合新的JSAPI(fileapi、xhr2等)一起使用,实现强大的新体验功能。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值