1 / 12
文档名称:

AJAX(XMLHttpRequest)进行跨域请求方法详解.docx

格式:docx   大小:43KB   页数:12页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

AJAX(XMLHttpRequest)进行跨域请求方法详解.docx

上传人:ipod0b 2018/11/5 文件大小:43 KB

下载得到文件列表

AJAX(XMLHttpRequest)进行跨域请求方法详解.docx

相关文档

文档介绍

文档介绍:注意:以下代码请在Firefox 、Chrome 、Safari 4之后的版本中进行测试。IE8的实现方法与其他浏览不同。
跨域请求,顾名思义,就是一个站点中的资源去访问另外一个不同域名站点上的资源。这种情况很常见,比如说通过 style 标签加载外部样式表文件、通过 img 标签加载外部图片、通过 script 标签加载外部脚本文件、通过 Webfont 加载字体文件等等。默认情况下,脚本访问文档属性等数据采用的是同源策略(Same origin policy)。
那么,什么是同源策略呢?如果两个页面的协议、域名和端口是完全相同的,那么它们就是同源的。同源策略是为了防止从一个地址加载的文档或脚本访问或者设置从另外一个地址加载的文档的属性。如果两个页面的主域名相同,则还可以通过设置 属性将它们认为是同源的。
随着 和 SNS 的兴起,Web 应用对跨域访问的需求也越来越多,但是,在脚本中进行跨域请求是受安全性限制的,Web 开发人员迫切需要提供一种更安全、方便的跨域请求方式来融合(Mashup)自己的 Web 应用。这样做的一个好处就是可以将请求分摊到不同的服务器,减轻单个服务器压力以提高响应速度;另外一个好处是可以将不同的业务逻辑分布到不同的服务器上以降低负载。
值得庆幸的是,跨域请求的标准已经出台,主流浏览器也已经实现了这一标准。W3C 工作组中的 Web Applications Working Group(Web 应用工作组)发布了一个 Cross-Origin Resource Sharing(跨域资源共享,该规范地址:/access-control/和http://dev./2006/waf/access-control/) 推荐规范来解决跨域请求的问题。该规范提供了一种更安全的跨域数据交换方法。具体规范的介绍可以访问上面提供的网站地址。值得注意的是:该规范只能应用在类似 XMLHttprequest 这样的 API 容器内。IE8、Firefox 及其以后的版本、Chrome浏览器、Safari 4 等已经实现了 Cross-Origin Resource Sharing 规范,已经可以进行跨域请求了。
Cross-Origin Resource Sharing 的工作方式是通过添加 HTTP 头的方法来判断哪些资源允许 Web 浏览器访问该域名下的信息。然而,对于那些 HTTP 请求导致用户数据产生副作用的请求方法(特别是对于除了GET、某些 MIME 类型的 POST 之外的 HTTP方法),该规范要求浏览器对请求进行“预先验”,通过发送 HTTP 的 OPTIONS 请求头询问服务器有哪些支持的方法,在征得服务器的同意后,再使用实际的 HTTP 请求方法发送实际的请求。服务器也可以通知客户端是否需要将验证信息(如 Cookie 和 HTTP Authentication 数据)随同请求一起发送。
下面我们就采用实际的例子说明 Cross-Origin Resource Sharing 是如何工作的。
1,简单请求
什么样的请求算是简单请求呢?简单请求必须满足下面2点:
a,只使用 GET、POST 进行的请求,这里的POST只包括发送给服务器的数据类型(Content-Type)必须是 application/x-ded、multipart/form-data 或者 text/plain中一个。
b,HTTP 请求没有设置自定义的请求头,如我们常用的 X-JSON。
先使用下面的代码进行测试:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Transitional//EN"
"/xhtml1/DTD/xhtml1-">
<html xmlns="9/xhtml">
<head>
<title>孟宪会之AJAX跨域请求测试</title>
</head>
<body>
<input type='button' value='开始测试' onclick='crossDomainRequest()' />
<div id="content"></div>
<mce:script type="text/javascript"><!--
var xhr = new XMLHttpRequest();
var url = './';
function crossDomainRequest() {
("co

最近更新

2024年浙江省金华东阳市部分事业单位招聘99人.. 89页

2024年浙江荣军医院事业单位招聘23人历年高频.. 58页

2024年浙江金华永康市规划局下属事业单位招聘.. 88页

2024年海南五指山市环境监测站招聘3人历年高频.. 89页

2024年海南省东方市农业系统事业单位招聘19人.. 88页

2024年渤海理工职业学院单招职业适应性测试题.. 54页

2024年湖北事业单位联考C类真题解析历年高频难.. 59页

2024年湖北城市建设职业技术学院单招职业适应.. 55页

2024年湖北宜昌市兴山县招聘10人历年高频难、.. 59页

2024年湖北恩施宣恩县交通运输局招聘历年高频.. 59页

2024年湖北武汉市质量技术监督局直属事业单位.. 58页

2024年湖北省咸宁市监察委留置场所辅警招聘10.. 89页

2024年湖北荆门市高层次创新创业人才招聘历年.. 58页

2024年湖南交通职业技术学院单招职业适应性测.. 55页

2024年湖南商务职业技术学院单招职业适应性测.. 54页

2024年湖南新化县纪委监察局事业单位招聘工作.. 59页

2024年湖南桃江县事业单位引进人才43人历年高.. 90页

化妆品正确使用与保养方法 23页

2024年湖南益阳赫山区事业单位招聘40人历年高.. 87页

小学科学教科版六年级下册期末测试题3(2024春.. 4页

游戏推广员的周报 6页

钡盐中钡含量的测定(沉淀重量法) 6页

林州市庙会时间表 9页

四年级英语下册第四单元教案 17页

海水中可溶性磷酸盐的测定最新版 4页

ck520立式车床总体及床身设计 37页

2018年某市委第三巡察组副组长填表的说明及其.. 4页

太阳能电池交直流供电电源设计太阳能电池电源.. 91页