2

我有一个子域网站(移动),它试图在我的主域网站上调用一个 aspx 页面。这里不涉及本地文件(域到域)。我正在使用 jquery mobile 并尝试进行 ajax 调用。通过浏览网络,我知道有人会 A. 理解我的问题并且 B. 可以回答的可能性很小。

再来一次。从 jquery 移动站点到域站点进行 ajax 调用,得到错误 Origin is not allowed by Access-Control-Allow-Origin。

我添加了这个,它没有工作

$(document).bind("mobileinit", function () {
        $.mobile.allowCrossDomainPages = true;
        $.support.cors = true;
    })
4

3 回答 3

5

您的服务器需要发送此 HTTP 标头:

Access-Control-Allow-Origin *

使用PHP(在服务器上),您将使用以下代码:

header('Access-Control-Allow-Origin: http://www.yourdomain.com');

或使用 PHP 允许来自任何客户端域的请求:

header('Access-Control-Allow-Origin: *');

您可以将 Apache 配置为在配置文件中为您发送此标头:

http://harthur.wordpress.com/2009/10/15/configure-apache-to-accept-cross-site-xmlhttprequests-on-ubuntu/

于 2012-06-06T15:29:27.133 回答
2

您正在更改的属性与您是否可以执行 CORS 无关。它们只是指示当前平台是否支持它的标志。改变它们没有任何作用。

如果您想进行跨域请求,您请求的服务器必须返回 JSONP 或返回正确的 CORS 标头。

于 2012-06-06T15:28:07.540 回答
1

我目前使用 nginx 作为代理在需要跨域生成 jquery ajax 请求的本地环境中解决此问题。

于 2012-06-06T15:35:10.277 回答