Javascript 使用相对路径从子域到主域进行AJAX调用

Javascript 使用相对路径从子域到主域进行AJAX调用,javascript,ajax,relative-path,Javascript,Ajax,Relative Path,我有以下结构:http://subdomain.mysite.com 从这里开始,我希望能够对:http://mysite.com/releases/ajax/file.php 如果我像上面那样使用绝对URL,JS会给出一个错误,在第行声明“permissions error”: 有没有办法通过子域的相对路径到达那里?如果不是,我可能会重定向到使用mysite.com/subdomains这是因为相同的源策略。默认情况下,AJAX请求不能跨越域边界,即使它是子域(即使是mysite.com和ww

我有以下结构:
http://subdomain.mysite.com

从这里开始,我希望能够对:
http://mysite.com/releases/ajax/file.php

如果我像上面那样使用绝对URL,JS会给出一个错误,在第行声明“permissions error”:


有没有办法通过子域的相对路径到达那里?如果不是,我可能会重定向到使用
mysite.com/subdomains

这是因为相同的源策略。默认情况下,AJAX请求不能跨越域边界,即使它是子域(即使是mysite.com和www.mysite.com,或and)。您可以在此处了解有关此安全功能的更多信息:

因为这种限制性限制对开发人员来说是非常有问题的,所以较新的浏览器支持一种称为CORS(跨源资源共享)的策略框架,它允许您指定允许与之通信的主机。不幸的是,基本支持直到第8版才在Internet Explorer中实现,因此如果您必须支持IE6-7,它将不适用于您:

在这种情况下,大多数人会使用JSONP,它利用了普通脚本标记不受同源策略约束的事实,因此JSON响应被包装在函数调用中并由浏览器执行,从而允许回调访问该数据。关于JSONP的更多信息:

JSONP的一个显著限制是它只能用于对服务器的GET请求(而不是POST或其他HTTP请求类型)

许多流行的JavaScript框架,如jQuery,都支持将JSONP作为一个选项(大多数只是通过在创建AJAX请求时切换请求类型变量),但是显然,您还需要设置处理这些请求的服务器端脚本以适当地响应

xmlhttp.open("POST",url,true);