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

Axios-不存在访问-控制-允许-起源头

毋承基
2023-03-14

我错过了一些东西。我正在努力让API调用工作。然后我像下面一样分割网址,它可以工作——字面上一次。在那之后,它无法再次工作。我发誓我没有改变什么。

在AXIOS中,您是如何操作的?

错误消息是:

无法加载XMLHttpRequesthttp://magicseaweed.com/api/W2Z26fXscpELi7nPB0svfqcGj9FtGO9e/forecast/?spot_id=228. 请求的资源上不存在“Access Control Allow Origin”标头。起源'http://localhost:8080因此,不允许访问。

import axios from 'axios';

const ROOT_URL = `magicseaweed.com/api/W2Z26fXscpELi7nPB0svfqcGj9FtGO9e/forecast/`;

export const FETCH_WEATHER = 'FETCH_WEATHER';

export function fetchWeather() {
    const url = `http://${ROOT_URL}?spot_id=228`;
    const request = axios.get(url);

    return {
        type: FETCH_WEATHER,
        payload: request
    };
}

我也尝试过这个修改过的GET,但是没有用

axios({
  url: url ,
  headers: {"Access-Control-Allow-Origin": "*"},
});

共有1个答案

逄征
2023-03-14

看这里:

https://www.npmjs.com/package/magicseaweed

在底部,它说明了为什么他们的应用编程接口包装在浏览器中不起作用。这和你不能在浏览器中调用Ajax的原因是一样的。

常见问题

我能在浏览器中使用这个模块吗?

理论上是的,但Magicseaweed API当前没有在浏览器请求中发送Access Control Allow Origin标头(如果通过cURL重播请求,则会以某种方式发送标头)。

因此,如果API改变了该行为,该模块将使用browserify。

您可以站起来自己的代理服务器,或者您可以使用互联网上提供的免费服务器之一:

https://developer.yahoo.com/yql/

https://crossorigin.me/

 类似资料:
  • 问题内容: 我尝试使用以下代码通过$ http(角度)发送http请求: 但这不起作用,并且我在Web控制台中有此错误: 你有解决方案吗 ? 问题答案: 您看到此错误是由于在浏览器中实现的称为Same Origin Policy的安全机制所致。 基本上,这是由于您的网页尝试访问驻留在与网页本身不同的主机,端口或方案(HTTP / HTTPS /文件等)所在的服务器上的资源而引起的。 为了解决此问题

  • 我正在创建一个脚本,加载在其他网站的外部。它加载CSS和HTML,在我自己的服务器上工作得很好。 但还是不管用。

  • 我有错误: XMLHttpRequest 无法加载 http://localhost:5984/cp_config/。当凭据标志为 true 时,不能在“访问控制-允许-源”标头中使用通配符“*”。因此,不允许访问源“http://localhost”。XMLHttpRequest 的凭据模式由 withCredentials 属性控制。 但我有一个标题: 我该如何解决这个问题?

  • 问题内容: 我看到以下错误: 使用此代码: 是什么原因引起的,如何解决? 问题答案: 在当前域之外发出ajax请求时,Javascript是受限制的。 例1:您的域名为example.com,并且您想向test.com提出请求=>您不能。 例2:您的域名是example.com,并且您想向inner.example.com发送请求,但是您不能。 例3:您的域名为example.com:80,并且您

  • 此url位于AWS API网关中,方法为get,stage部署良好。我在aws文档之后启用了CORS。 -资源->操作->启用CORS->默认设置->启用CORS并替换CORS头。在CORS结果中没有错误日志。 我不是profesional web开发人员,我的浏览器是Safari。 以下是我查询“http://my.com”的代码 控制台打印错误:XMLHttpRequest不能加载“http:

  • 问题内容: 我正在使用以下脚本- 我尝试访问的计算机正在运行播放框架。我收到以下错误: 选项404(未找到)jquery-1.9.1.min.js:5 XMLHttpRequest无法加载。原产地不被访问控制允许来源允许的。 我已经难过了两天,有人可以帮我吗? 提前谢谢 问题答案: 问题是您正在尝试进行跨域调用(从到)。Same Origin Policy 不允许这样做,因此浏览器试图使用跨域资源