gpt4 book ai didi

jquery - XHR 不起作用,因为 "Origin is not allowed by Access-Control-Allow-Origin"

转载 作者:行者123 更新时间:2023-12-01 01:39:20 25 4
gpt4 key购买 nike

我正在使用 Rails 3 开发一个 API 服务器,到目前为止非常方便,但我一直遇到错误,我不确定这是因为我的 Apache 设置还是 Rails 应用程序.

当我尝试对 http://sample.domain/uri/id 执行 HTTP DELETE 或 PUT 请求时通过 XHR、curl 或 HTTP-Client.app Rails 或 Apache 响应 404 或 403(取决于客户端。我认为是因为 cors),Safari 开发者控制台响应

XMLHttpRequest cannot load http://sample.domain/uri/id. Origin http://web.client/ is not allowed by Access-Control-Allow-Origin.

我在 Apache2 上使用 mod_rack 又名 mod_rails,我的虚拟主机实际上包含以下内容:

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods POST,GET,DELETE,PUT,OPTIONS
Header set Access-Control-Allow-Headers X-Requested-With

Apache error_log 响应以下错误:

[Sat Oct 30 01:37:34 2010] [error] [client 22.222.222.22] client denied by server configuration: /path/to/rails/folder/public, referer: http://web.client/

Railsdevelopment.log 响应

Started OPTIONS "/uri/id" for 84.190.123.140 at 2010-10-30 03:18:42 +0200
ActionController::RoutingError (No route matches "/uri/id"):

在这里,我不确定为什么 OPTIONS 调用会失败,因为我认为这只是预检,并且肯定没有 OPTIONS 的路由,因为我想响应 DELETE

如果您对如何解决此问题有任何想法,请与我分享。

非常感谢大卫

最佳答案

在 *nix 系统中,您首先需要在 apache 中包含/启用“Headers”模块

sudo a2enmod header

然后,您需要在虚拟主机中包含以下行:

header 设置 Access-Control-Allow-Origin: "*"

关于jquery - XHR 不起作用,因为 "Origin is not allowed by Access-Control-Allow-Origin",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4056855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com