gpt4 book ai didi

xmlhttprequest - 从 Dart 客户端到本地 Dart docker 服务器的 HTTP 请求上出现“XMLHttpRequest 无法加载”错误

转载 作者:行者123 更新时间:2023-12-03 02:49:34 24 4
gpt4 key购买 nike

我最近一直在尝试构建一个与我的 Dart docker 服务器通信的 Dart 客户端。如果我在任何浏览器上运行这个 url (localhost:8080/id/6192449487634432) 我会得到一个我设置的 JSON,但是,如果使用

HttpRequest
.getString ("http://localhost:8080/id/6192449487634432")
.then (print);

在 Dart 客户端上,我得到了这个奇怪的错误

XMLHttpRequest cannot load http://localhost:8080/id/6192449487634432. No 'Access-Control-Allow-Origin' 
header is present on the requested resource. Origin 'http://localhost:8081' is therefore not allowed access.

我已经搜索过一些变通方法来构建 PHP 代理(不,谢谢)。一般来说,我是 Web 开发的新手,我绝对不知道代理是什么或如何构建代理。我可以使用干净的解决方案吗?我有一个 Redstone 服务器和 AngularDart 客户端。

最佳答案

当您的客户端应用程序从与您的 docker 服务器不同的服务器提供服务时,就会发生这种情况。这是一个浏览器问题,并非特定于 Dart。幸运的是,解决方案很简单。

请务必在每次请求时从您的服务器发送 CORS header 。解决此问题的最简单方法是添加以下 header :

访问控制允许来源:*

我不知道 Redstone 的具体细节,但一定要在 GET 上设置 header 键 Access-Control-Allow-Origin 和值 * HEADPOST 方法。是的,您需要在 HEAD 请求上设置此 header ,因为有时浏览器会发出 HEAD 请求以检查是否启用了 CORS。

http://enable-cors.org/ 了解更多关于 CORS 的信息

关于xmlhttprequest - 从 Dart 客户端到本地 Dart docker 服务器的 HTTP 请求上出现“XMLHttpRequest 无法加载”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369722/

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