JS-POST跨域

 在js中如何实现CORS(cross origin resource sharing)跨源资源共享?
   在早期,有通过图像ping和JSONP来实现跨域,
(1)图像ping是利用设置img元素的特性,即一个页面中的图片可以来自其他域,可以通过js设置img的src属性来发起一个请求,并且通过onload和onerror方法可以监控是否加载成功或者失败,但缺点是浏览器不能接收到任何的数据,并且只能发起get请求。
(2)JSONP通过创建动态的script对象,通过设置script的src例如:“http://xxx.com/callback="handler"”,其中的callback是一个参数,其值handler是一个函数,用于处理从服务器返回的数据。function handler(textFromServer){console.log(textFromServer);}//其中textFromServer就是来自服务器的响应数据。
在出现CORS之后,各浏览器也都支持,只是支持的程度不一样。但简单的(即非Preflighted和不带凭据的请求)都支持。简单介绍一下Preflighted和带凭据请求:
(1)PreflightedRequest(预飞行请求,即在飞行之前(发起真正的请求之前,先发送一个options请求,确定是否可以发送))透明服务器验证机制支持开发人员使用自定义的头部。get或者post之外的方法,以及不同类型的主题内容。写了一个demo,但是在chrome中运行不通过,在firefox中可以。该类型的请求,首先会向服务器发
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值