首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法完成对本地主机或外部API (快速应用程序)的请求

问无法完成对本地主机或外部API (快速应用程序)的请求
EN

Stack Overflow用户
提问于 2020-01-28 14:22:23
回答 1查看 149关注 0票数 0

我正在构建一个React应用程序来使用我使用express.js构建的API。我的React应用程序成功地使用fetch或axios来使用官方API ("https://jsonplaceholder.typicode.com/users")查询数据,但是当我试图从自己的API ("XXX.us-east-1.elasticbeanstalk.com/api/v1/users")或本地主机("http://localhost:81/api/v1/users")获取数据时,我仍然会得到一个错误。

问题我的GET请求是错的吗?我的API的返回有问题吗?您会推荐什么资源来学习使用RESTful创建Express.js API,并在AWS中设置它并使用React应用程序来使用这个API吗?

谢谢!

错误是:

CORS策略阻止了从源获取'XXX.us-east-1.elasticbeanstalk.com/api/v1/users‘'http://localhost:3000’的

访问:请求的资源上没有“访问控制-允许-原产地”标题。如果不透明响应满足您的需要,请将请求的模式设置为“no- CORS”,以获取禁用CORS的资源。

使用fetch

代码语言:javascript
复制
componentDidMount() {
    fetch
      ('https://jsonplaceholder.typicode.com/posts/1')
      // ('XXX.us-east-1.elasticbeanstalk.com/api/v1/users')
      // ('http://localhost:81/api/v1/users')
      .then(response => response.json())
      .then(data =>
        this.setState({
          title: data.title,
          body: data.body
        })
      );
  }

使用axios

代码语言:javascript
复制
componentDidMount() {
    axios
      .get('https://jsonplaceholder.typicode.com/users').then(res => this.setState({ users: res.data }))
   // .get('http://localhost:81/api/v1/users', { crossDomain: true }).then(res => this.setState({ users: res.data }))
      .catch(function (error) {
        console.log("Error");
      });
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-28 15:37:42

它实际上是快递中的cors问题,因此要解决这个问题,请在开始文件中添加以下内容

代码语言:javascript
复制
var express = require('express');
var app = express();
app.use(cors());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59950850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档