Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法加载资源:从本地主机获取时,net::ERR_连接被拒绝_Javascript_Node.js - Fatal编程技术网

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异常,而不是连接被拒绝错误