gpt4 book ai didi

javascript - AngularJS 不存在 'Access-Control-Allow-Origin' header

转载 作者:太空宇宙 更新时间:2023-11-04 03:06:44 24 4
gpt4 key购买 nike

我正在尝试构建一个快速演示站点,但我无法控制我尝试连接的服务器。这是我用 AngularJS 构建它的代码。我通过一个简单的 Python HTTP 服务器运行该文件并在 localhost:8000 上查看它。 varretrieveAppliances = 函数 () { console.log('正在尝试检索设备列表。');

var requestUrl = '****';
$http({
method: 'GET',
url: requestUrl,
})
.then(function (response) {
console.log(response);
});
};
retrieveAppliances();

我已阅读多个地方尝试将方法切换为JSONP,但这样做会导致解析错误。

虽然我考虑过尝试构建一个 server.js 文件并用它运行 NodeJS,但我未能成功学习发出 AJAX 请求并将其代理到我的 app.js 的基础知识。

我将非常感谢有人能够给我提供的任何帮助,以及清晰且易于遵循的步骤。

最佳答案

如果您正在对不同的源(例如不同的主机、端口或协议(protocol))运行 Ajax 调用,并且该源的服务器不支持跨源请求,则您无法从客户端修复该问题。您无法从客户端执行任何操作。

如果服务器支持 JSONP,您可以使用它,但这也需要特定的服务器支持。

浏览器网页的唯一解决方案是:

  1. 目标服务器上的 CORS 支持。
  2. JSONP(还需要目标服务器支持)。
  3. 设置您自己有权访问的服务器(在现有页面域上或使用 CORS),然后让该服务器为您获取文件/数据并将其代理回给您。您可以编写自己的代理或部署预构建的代理。
  4. 查找一些您可以使用的现有第三方代理服务。

如果您有兴趣制作自己的node.js代理,您可以在此处查看一个简单的示例:How to create a simple http proxy in node.js? .

关于javascript - AngularJS 不存在 'Access-Control-Allow-Origin' header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38558014/

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