栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么设置document.domain不能允许AJAX请求到父域?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么设置document.domain不能允许AJAX请求到父域?

document.domain
机制旨在允许帧之间进行客户端通信,而不是客户端到服务器的通信。如果从包含页面的一帧
example.com
,并从包含页面另一个框架
foo.example.com
则二者不能互相访问对方的DOM,除非后者套
document.domain
example.com
你在你的例子显示。

跨域AJAX请求的现代首选机制是“ 跨域资源共享 ”或“
CORS”。此机制涉及使目标资源返回一个特殊的HTTP响应标头,该标头指示允许跨域请求。在您的方案中,您将

test3.php
返回以下HTTP响应标头:

Access-Control-Allow-Origin: sub.domain.com

在PHP中,您可以按照以下步骤进行操作:

header("Access-Control-Allow-Origin: sub.domain.com");

您也可以将此标头值设置为仅仅

*
是为了允许来自 任何 来源的跨域请求,但请注意,这将允许来自不受您控制的网站的请求。

来自客户端Javascript库的请求通常还包含

X-Requested-With
不在CORS允许的标准集中的其他标头,因此可能有必要通过附加的响应标头显式允许此标头:

Access-Control-Allow-Headers: X-Requested-With

仅现代浏览器支持CORS。对于较旧的浏览器,通常的约定是使用JSON-P,这是一种技巧,它利用了一个服务器上的页面能够从另一台服务器加载并执行脚本文件这一事实。此技术要求目标资源是一个有效的Javascript程序,该程序在页面中调用一个函数,因此它不像CORS那样优雅和无缝,但它应在任何支持Javascript的浏览器中都可以工作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381717.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号