当前位置: 首页 > 知识库问答 >
问题:

Access-Control-Allow-Origin不允许Origin

金钧
2023-03-14

null

服务器的响应如下:

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

如何解决此问题?

共有3个答案

哈翔
2023-03-14

null

<ifModule mod_headers.c>
    Header set Access-Control-Allow-Origin: *
</ifModule>

在您的配置中。这将导致来自您的Web服务器的所有响应都可以从Internet上的任何其他站点访问。如果您希望仅允许主机上的服务由特定服务器使用,则可以将 替换为原始服务器的URL:

Header set Access-Control-Allow-Origin: http://my.origin.host
司空默
2023-03-14

如果您无法控制服务器,您可以简单地将此参数添加到Chrome启动程序中:

请注意,我不会在正常的“网页浏览”中使用这个。如需参考,请参阅此帖:禁用Chrome中的同源策略。

如果你使用Phonegap实际构建应用程序并将其加载到设备上,这将不是一个问题。

司徒骞尧
2023-03-14

前一段时间我写了一篇关于这个问题的文章《跨域Ajax》。

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

Access-Control-Allow-Origin: *

这将允许跨域Ajax。在PHP中,您需要修改响应,如下所示:

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

null

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

<?php header('Access-Control-Allow-Origin: http://example.com') ?>
 类似资料:
  • 问题内容: 我是Ajax的新手,只是受过此跨域调用的任务。我们的网页上有一个文本框,用户可用来执行公司名称搜索。通过单击文本框旁边的按钮,将请求Ajax调用。不幸的是,Web服务位于单独的域中,因此自然会引起问题。 以下是我使这项工作的最佳尝试。我还要注意,此调用的目的是以XML格式返回结果,该结果将在请求的一部分中进行解析。 这又是错误消息: 对于解决方法,我不知所措,将不胜感激任何想法。 问题

  • 问题内容: 我正在使用Sencha Touch 2应用程序(包装在PhoneGap中)到远程PHP服务器。 服务器的响应如下: XMLHttpRequest无法加载http://nqatalog.negroesquisso.pt/login.php。原产地不被访问控制允许来源允许的。 我该如何解决这个问题? 问题答案: 不久前,我写了一篇有关此问题的文章Cross Domain AJAX 。 如果

  • 问题内容: 我正在Ajax.request使用Sencha Touch 2应用程序(包装在PhoneGap中)到远程PHP服务器。 服务器的响应如下: XMLHttpRequest无法加载http://nqatalog.negroesquisso.pt/login.php。原产地不被访问控制允许来源允许的。 我该如何解决这个问题? 问题答案: 如果您控制响应服务器,最简单的方法是为以下项添加响应标

  • 问题内容: XMLHttpRequest cannot load http://localhost:8080/api/test. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin. 我阅读了有关跨域Ajax请求的信息,并了解了潜在的安全问题。就我而言,有2台服务器在本地运行,并且希望在测试期间启用跨

  • 当我的页面从节点服务器加载时,我向发出了一个ajax请求。什么是最简单、最安全的(不要使用选项启动chrome)。如果必须更改,是否应该在节点服务器上更改?怎么做?

  • Response.AddHeader(“Access-Control-Allow-Origin”,“*”)是如何实现的;行设置多个标题时,包括,但没有当我删除它?