跨域 Ajax 请求被 Access-Control-Allow-Origin 阻止
Ajax 请求尝试访问资源时会出现此问题来自不同的域,触发 Access-Control-Allow-Origin 错误。在此特定实例中,从 Sencha Touch 2 应用程序向远程 PHP 服务器发出 Ajax 请求。
解决问题
要解决此错误并允许跨域Ajax,服务器端必须配置添加Access-Control-Allow-Origin的响应头。该标头指定允许发出 Ajax 请求的域。
在 PHP 中,可以通过修改响应标头来实现,如下所示:
header('Access-Control-Allow-Origin: *');
其他选项
Apache 配置或 .htaccess :
如果您有权访问 Apache 配置文件或 .htaccess 文件,您也可以在那里设置标头:
Header set Access-Control-Allow-Origin *
注意:
虽然启用跨域 Ajax 可以提供更大的灵活性,但它也会禁用 CORS 保护,这可能会导致用户容易受到攻击。仅在绝对必要时才使用通配符 (*)。相反,建议将特定域列入白名单,如提供的 PHP 代码示例中所示。
以上是如何启用跨域 Ajax 请求并避免 Access-Control-Allow-Origin 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!