Access-Control-Allow-Origin 不允许来源

问题描述

不久前我写了一篇关于这个问题的文章Cross Domain AJAX

如果您可以控制响应服务器,则处理此问题的最简单方法是为以下内容添加响应标头:

Access-Control-Allow-Origin: *

这将允许跨域Ajax。在 PHP 中,您需要像这样修改响应:

<?PHP header('Access-Control-Allow-Origin: *'); ?>

您可以将Header set Access-Control-Allow-Origin *设置放在Apache配置或 htaccess 文件中。

应该注意的是,这有效地禁用了 CORS 保护,这 。如果您不知道您特别需要使用通配符,则不应使用它,而应将您的特定域列入白名单:

<?PHP header('Access-Control-Allow-Origin: http://example.com') ?>

解决方法

我正在Sencha Touch 2
应用程序(包装在PhoneGapAjax.request中)中创建远程
PHP
服务器。

来自服务器的响应如下:

XMLHttpRequest
无法加载http://nqatalog.negroesquisso.pt/login.php。Access-
Control-Allow- Originhttp://localhost:8888不允许 Origin。

我该如何解决这个问题?