我有两个文件,domain.com/test2.php:为什么不设置document.domain工作以允许AJAX请求到父域?
<div id="testDiv"></div>
<script src="http://domain.com/packages/jquery.js"></script>
<script>$("#testDiv").load("http://domain.com/test3.php", {var1:1, var2:2});</script>
和domain.com/test3.php:
<b>var1: <?php echo $var1; ?> , var2: <?php echo $var2; ?></b>
在这种情况下domain.com/test2.php输出 var1: 1 , var2: 2
正如人们所期望的那样,但现在让我们说我想在子域中创建一个test2.php。要停止与跨域脚本的问题,我想这额外的行添加到sub.domain.com/test2.php开始:
<script>document.domain = "domain.com";</script>
这额外的行停止从显示出来的跨域错误,但现在该文件不再输出var1: 1 , var2: 2
。为什么是这个,我该如何解决这个问题?
你能看到的请求,你的子域在网络日志中的开发工具中显示吗?它看起来是否成功并返回了您预期的响应? – 2013-03-28 05:59:11
@MartinAtkins请求以红色显示,状态为“(已取消)”。 – 2013-03-28 17:56:25