ajax跨域text plain,跨域资源共享(Cross-Origin Resource Sharing)实现Ajax跨域请求

--转自 yoyiorlee

Firefox、Chrome等很多浏览器(IE除开)都不允许跨域请求或调用,折腾好久,终于解决了Ajax跨域请求这个蛋疼的问题,在网上也找了很久的资料,尝试N次都失败,今天在无意之中看到一篇跨域资源共享的文章,这让我轻松的解决了跨域问题,不多说。

跨域请求,就是一个站点中的资源去访问另外一个不同域名站点上的资源。这种情况很常见,比如说通过

标签加载外部样式表文件、通过

标签加载外部图片、通过

标签加载外部脚本文件等等。默认情况下,脚本访问文档属性等数据采用的是同源策略(Same

origin policy)。

如果两个页面的协议、域名和端口是完全相同的,那么它们就是同源的。 如果两个页面的主域名相同,则还可以通过设置

document.domain 属性将它们认为是同源的。

随着

Web2.0 和 社交网络 的兴起,Web

应用对跨域访问的需求也越来越多,但是在脚本中进行跨域请求是受安全性限制的。比如分布式应用,主网站和二级域名网站的通信等等。

许多人还没意识到当前几乎所有的浏览器(Internet Explorer 8+, Firefox 3.5+, Safari 4+和

Chrome)都可通过名为跨域资源共享(Cross-Origin Resource

Sharing)的协议支持ajax跨域调用。 对一个简单的请求,没有自定义头部,要么使用GET,要么使用POST,它的主体是text/plain,请求用一个名叫Orgin的额外的头部发送。Origin头部包含请求页面的头部(协议,域名,端口),这样服务器可以很容易的决定它是否应该提供响应。

在IE8中也是一样,用同样的方式你需要使用XDomainRequest

object

varxdr=newXDomainRequest();

xdr.open("get","http://www.msnova.net/resource/");

xdr.οnlοad=function(){//do something};

xdr.send();

方法一:跨域资源共享(Cross-Origin

Resource Sharing)实现Ajax跨域请求(跨域资源共享,该规范地址:http://www.w3.org/TR/access-control/和http://dev.w3.org/2006/waf/access-control/)

1.在客服端写下面代码

a4c26d1e5885305701be709a3d33442f.png

html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">AJAX跨域请求测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值