TypeError : NetworkError when attemptimg to fetch a resource
TypeError : NetworkError when attemptimg to fetch a resource
我正在尝试让我的 Firefox 扩展 send/recieve 数据 to/from 一个 spring 启动应用程序 运行 在 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="*")
到控制器 class
我在扩展的清单中将 "*://localhost/"
添加到 permissions
。
我知道服务器工作正常,这不是 CORS 问题,因为我用 curl
试过了
curl -H "Origin:https://google.com/" -H "Accept:application/json" -H "method:GET" localhost:8080/all --verbose
它返回了这些响应 headers 以及输出 json
< HTTP/1.1 200
< Vary: Origin
< Vary: Access-Control-Request-Method
< Vary: Access-Control-Request-Headers
< Access-Control-Allow-Origin: *
找到问题
我决定尝试相同的 GET 请求,但使用 XHR 并获得状态 0 和空响应文本。在寻找可能是什么原因的过程中,我找到了 this answer,所以我在获取 API 请求中用 http://localhost:8080/all
替换了 localhost:8080/all
并且它起作用了。我猜这是一个权限问题。
我正在尝试让我的 Firefox 扩展 send/recieve 数据 to/from 一个 spring 启动应用程序 运行 在 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="*")
到控制器 class
我在扩展的清单中将 "*://localhost/"
添加到 permissions
。
我知道服务器工作正常,这不是 CORS 问题,因为我用 curl
curl -H "Origin:https://google.com/" -H "Accept:application/json" -H "method:GET" localhost:8080/all --verbose
它返回了这些响应 headers 以及输出 json
< HTTP/1.1 200
< Vary: Origin
< Vary: Access-Control-Request-Method
< Vary: Access-Control-Request-Headers
< Access-Control-Allow-Origin: *
找到问题
我决定尝试相同的 GET 请求,但使用 XHR 并获得状态 0 和空响应文本。在寻找可能是什么原因的过程中,我找到了 this answer,所以我在获取 API 请求中用 http://localhost:8080/all
替换了 localhost:8080/all
并且它起作用了。我猜这是一个权限问题。