Javascript 无法加载资源:从本地主机获取时,net::ERR_连接被拒绝
我正试图向本地主机服务器发出请求,但出现错误Javascript 无法加载资源:从本地主机获取时,net::ERR_连接被拒绝,javascript,node.js,Javascript,Node.js,我正试图向本地主机服务器发出请求,但出现错误加载资源失败:net::ERR\u CONNECTION\u被拒绝 这是我的前端代码: (async () => { const data = await fetch('http://localhost:8080/articles/', { headers: { "Access-Control-Allow-Origin": "http://localhost:8080/articles/" } }); c
加载资源失败:net::ERR\u CONNECTION\u被拒绝
这是我的前端代码:
(async () => {
const data = await fetch('http://localhost:8080/articles/', {
headers: { "Access-Control-Allow-Origin": "http://localhost:8080/articles/" }
});
const articles = await data.json()
console.log(articles)
})();
和后端代码:
(async () => {
const data = await fetch('http://localhost:8080/articles/', {
headers: { "Access-Control-Allow-Origin": "http://localhost:8080/articles/" }
});
const articles = await data.json()
console.log(articles)
})();
app.get("/articles/", function (req, res) {
let inputValue = req.body.page;
let pages = Math.ceil(totalResults / 10)
page = scripts.iteratePages(inputValue, page, pages);
request("https://newsapi.org/v2/top-headlines?q=" + initialQ +
"&category=sports&pageSize=10&page=" + page + "&sortBy=relevance&apiKey=" +
apiKey, function (error, response, body) {
if (!error && response.statusCode == 200) {
let data = JSON.parse(body);
let articles = scripts.articlesArr(data);
res.json({ articles: articles });
} else {
res.redirect("/");
console.log(response.body);
}
});
});
我自己也做过一些研究,指出使用我的私有IP地址而不是localhost
,我得到了一个。。。不是控制台中的功能错误
:
let ipAddress = "blah.blah.blah.blah"
(async () => {
const data = await fetch('http://' + ipAddress + ':8080/articles/', {
headers: { "Access-Control-Allow-Origin": "http://" + ipAddress + ":8080/articles/" }
});
const articles = await data.json()
console.log(articles)
})();
任何帮助都会很好 我认为错误是由跨域问题引起的。你对CORS标题有误解。请求使用的不是头,而是响应使用的头 如果javascript程序发出跨域请求,浏览器将首先向服务器发送具有相同参数的选项请求。如果服务器上的后端认为请求是合法的,只有CORS头的响应将被发送回浏览器,然后浏览器检查CORS头对当前环境。如果CORS头是合适的,浏览器将最终向服务器发送真正的请求,否则会抛出错误
我认为错误是由跨域问题引起的。你对CORS标题有误解。请求使用的不是头,而是响应使用的头 如果javascript程序发出跨域请求,浏览器将首先向服务器发送具有相同参数的选项请求。如果服务器上的后端认为请求是合法的,只有CORS头的响应将被发送回浏览器,然后浏览器检查CORS头对当前环境。如果CORS头是合适的,浏览器将最终向服务器发送真正的请求,否则会抛出错误
您的端点没有返回json。使用
res.json({filtered:articles})
而不是res.render
和res.redirect
谢谢。但是控制台仍然返回未捕获类型错误:“ip地址在这里”不是一个函数
代码捕获到错误的行是什么?如果您的服务器在您的机器上,本地主机
应该可以正常工作。我猜你用错端口了。或者你的服务器没有启动(或崩溃)@Seblor嘿,是的-我的本地主机运行的端口是3000
,而不是8080
-新手错误。它现在起作用了。感谢您的终结点没有返回json。使用res.json({filtered:articles})
而不是res.render
和res.redirect
谢谢。但是控制台仍然返回未捕获类型错误:“ip地址在这里”不是一个函数
代码捕获到错误的行是什么?如果您的服务器在您的机器上,本地主机
应该可以正常工作。我猜你用错端口了。或者你的服务器没有启动(或崩溃)@Seblor嘿,是的-我的本地主机运行的端口是3000
,而不是8080
-新手错误。它现在起作用了。感谢此错误是连接被拒绝,而不是CORS错误。加上OP在本地主机内出现问题,并使用服务器。只有当您试图从文件://
访问http(s)服务器时,才会在localhost中发生CORS问题,并且它将显示CORS异常,而不是连接被拒绝错误错误错误是连接被拒绝,而不是CORS错误。加上OP在本地主机内出现问题,并使用服务器。只有当您试图从文件://
访问http(s)服务器时,才会在localhost中发生CORS问题,并且它将显示CORS异常,而不是连接被拒绝错误