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

TypeError:尝试提取资源时出现网络错误

夹谷星河
2023-03-14

我得到这个问题:

Response { type: "cors", url: "http://localhost:3000/api/marks",
redirected: false, 
status: 200, 
ok: true, 
statusText: "OK", 
headers: Headers, 
body: ReadableStream, 
bodyUsed: true }
MarkService.js:5
Cross-Origin Request Blocked: 
The Same Origin Policy disallows reading the remote resource at      
http://localhost:3000/api/marks. (Reason: CORS request did not succeed). 

这就是它指向的地方

class MarkService {
  constructor() {
    this.URI = `localhost:3000/api/marks`;
  }

  async getMarks() {
    const response = await fetch(this.URI);
    const marks = await response.json();
    return marks;
  }
}
export default MarkService;

我正在尝试制作一个后端有express,前端有Webpack的应用程序。我在后端有一个Rest API,不能在前端使用。

我将Ubuntu与Mozilla Firefox 66.0.2和Nodejs 11.13.0结合使用

当我使用控制台时,它说问题出在它上面

共有1个答案

蒙才
2023-03-14

正如我看到的这个错误

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:3000/api/marks. (Reason: CORS request did not succeed)

它说发生了CORS错误,这是因为前端和后端托管在不同的域或端口下。如果在本地主机上,让我们进一步解释一下。

CORS 代表跨域资源共享是一种安全策略,仅适用于 Javascript(浏览器),它阻止网站使用 AJAX 访问其他网站,除非它们使用标头明确批准。

为了解决这个问题,您需要在来自批准请求域的CORS的服务器端的响应中传递某些标头,标头

你可以阅读这篇文章来深入了解CORS,或者你可以查看这个链接来了解如何解决你所面临的问题

nodejs有一个NPM包,可以帮助您使用CORS

 类似资料:
  • 我发现了很多与我的问题类似的问题,但我没有得到解决方案,这就是为什么我在这里问。 我刚刚开始学习使用React进行前端开发。我已经为在不同端口运行的前端和后端制作了单独的应用程序。 后端:Laravel框架应用程序运行于 前端:在运行的React应用程序 我有一张这样的表格: 我一直在沿着路线走, 这里是 CORS 中间件, 最后这里是用户创建函数 当我从反应应用程序发送帖子请求时,控制台显示以下

  • 码头工人群 但当我试图启动网络时,它会出现错误 订购者节点 PANIC:打开LevelDB时出错:open/var/hyperledger/production/orderer/index/lock:权限被拒绝 请帮帮忙。

  • 我用Java做了一个游戏。它在Eclipse中工作得非常好。 我把它导出为一个可运行的罐子。当双击它的图标时,它不会打开。所以我试着从命令行运行JAR。 在试图检索图像资源的一行代码中,我遇到了一个NullPointerException错误(正如我所说,它在Eclipse中工作得很好)。这是发生错误的代码行: 我不知道出了什么问题。这是我项目的结构: 有什么想法吗?我开始绝望了。 非常感谢你的帮

  • 我已经找到了这个已经帮了我的忙,但是在我的代理中添加了这样的标题之后。js公司: 在fetch()中,我还添加了标头以确保其正常工作: 我仍然收到错误:TypeError:“尝试获取资源时出现NetworkError。” <代码>此。setState({contacts:data})应该存储由后端Java程序交付的JSON对象。JSON对象位于localhost:8080/api,只是字符串 我的

  • 我是JMS新手,正在尝试使用Glassfish应用服务器执行我第一个JMS程序。 我在Glassfish管理控制台中创建了连接工厂[JMS/MyQueueFactory]和目标资源[JMS/MyQueue],如下所示: 以下是我的代码: 请让我知道我在这里错过了什么。 多谢了。

  • 我试图从节点js应用程序获取我的反应应用程序中的数据,我收到了下面给出的错误消息: react中的App.js 节点应用程序中的app.js 错误消息:TypeError: NetworkError尝试获取资源时出错。