javascript - TypeError : NetworkError 尝试获取资源时
问题描述
我正在尝试让我的 Firefox 扩展程序向/从正在运行的 spring boot 应用程序发送/接收数据,localhost:8080/
但我收到了这个错误。
这是请求 -
var req = new Request("localhost:8080/all", {
method: 'GET',
headers: { 'Accept': 'application/json' },
});
这是控制器功能localhost:8080/all
-
@GetMapping(path="/all")
public @ResponseBody Iterable<Product> getAllProducts()
{
return productrepository.findAll();
}
我还添加@CrossOrigin(origins="*")
到控制器类
我已经添加"*://localhost/"
到permissions
扩展的清单中。
我知道服务器工作正常,这不是 CORS 问题,因为我尝试过curl
curl -H "Origin:https://google.com/" -H "Accept:application/json" -H "method:GET" localhost:8080/all --verbose
它返回了这些响应标头以及输出 json
< HTTP/1.1 200
< Vary: Origin
< Vary: Access-Control-Request-Method
< Vary: Access-Control-Request-Headers
< Access-Control-Allow-Origin: *
解决方案
发现问题
我决定尝试相同的 GET 请求,但使用 XHR 并得到状态 0 和空的 responsetext 。在寻找可能是什么原因时,我找到了这个答案,所以我在我的 fetch API 请求中替换为它并且它有效localhost:8080/all
。http://localhost:8080/all
我猜这是权限问题。
推荐阅读
- javascript - TypeError:无法读取未定义 discord.js 的属性“集合”
- javascript - TypeError this.$refs.password 在 Vue JS 中未定义
- ruby-on-rails - Stripe::Customer.create 未将付款方式附加到客户
- android - 尝试进行接口类型的成员注入时 Dagger 2 NPE
- laravel - 非 www url 正在重定向到主页
- spring - 如何获取本地到 Spring Boot 以本地化消息?
- c# - 使用 Prism 在 WPF 应用程序中使用 RESX 文件
- java - Amazon Coretto 11、Spring Boot 和 PowerMock - 测试失败
- node.js - 在节点中生成后在子进程中提供输入
- node.js - 异步 / 等待 Node.js https.get