小编典典

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

all

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

来自服务器的响应如下:

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

我该如何解决这个问题?


阅读 90

收藏
2022-04-01

共1个答案

小编典典

不久前我写了一篇关于这个问题的文章,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') ?>
2022-04-01