简体   繁体   English

net::ERR_CONNECTION_REFUSED 尝试在节点 js 中发出发布请求时

[英]net::ERR_CONNECTION_REFUSED when trying to make a post request in node js

I am trying to make a post request using fetch.我正在尝试使用 fetch 发出发布请求。 Normally when I use npm start to start my server it works just fine.通常当我使用npm start启动我的服务器时,它工作得很好。 But with webpack dev server it gives me this error:但是使用 webpack 开发服务器它给了我这个错误: 铬控制台中的错误

This is my server side code:这是我的服务器端代码:

require('dotenv').config();

const mockAPIResponse = require('./mockAPI.js')

const PORT = 8081

const apiKey = process.env.API_KEY
const baseUrl = 'https://api.meaningcloud.com/sentiment-2.1'

const express = require('express')
const cors = require('cors')
const bodyParser = require('body-parser')
const fetch = require('node-fetch')
var path = require('path')
const app = express();

app.use(cors())
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))
app.use(express.static('dist'))

app.get('/', function(req, res) {
    res.sendFile('dist/index.html')
        //res.sendFile(path.resolve('src/client/views/index.html'))
})
app.post('/api', async(req, res) => {
    console.log("you key is", apiKey)
    const enteredUrl = req.body.url;
    const apiUrl = baseUrl + '?key=' + apiKey + '&url=' + enteredUrl + '&lang=en'
    console.log(apiUrl)
    const response = await fetch(apiUrl)
    try {
        const fetchedData = await response.json()
        console.log(fetchedData)
        res.send(fetchedData)
    } catch (error) {
        console.log("error", error)
    }


})


app.get('/test', function(req, res) {
    res.send(mockAPIResponse)
})

// designates what port the app will listen to for incoming requests
app.listen(PORT, (error) => {
    if (error) throw new Error(error)
    console.log(`Server listening on port ${PORT}!`)
})

My package.json:我的 package.json:

{
    "name": "evaluate-news-nlp",
    "version": "0.0.1",
    "main": "index.js",
    "scripts": {
        "test": "jest",
        "start": "nodemon src/server/index.js",
        "build-prod": "webpack --config webpack.prod.js",
        "build-dev": "webpack-dev-server  --config webpack.dev.js --open"
    },
    "keywords": [],
    "author": "Alaa",
    "description": "",
    "dependencies": {
        "2": "^3.0.0",
        "@babel/runtime": "^7.16.7",
        "axios": "^0.21.1",
        "babel-polyfill": "^6.26.0",
        "body-parser": "^1.19.0",
        "cors": "^2.8.5",
        "dotenv": "^8.6.0",
        "express": "^4.17.1",
        "node-fetch": "^2.6.1",
        "sass": "^1.45.1",
        "webpack": "^4.44.2",
        "webpack-cli": "^3.3.5"
    },
    "devDependencies": {
        "@babel/core": "^7.5.4",
        "@babel/plugin-transform-runtime": "^7.16.7",
        "@babel/preset-env": "^7.5.4",
        "@types/jest": "^26.0.20",
        "babel-core": "^6.26.3",
        "babel-loader": "^8.0.6",
        "babel-plugin-transform-runtime": "^6.23.0",
        "babel-polyfill": "^6.26.0",
        "babel-preset-es2015": "^6.24.1",
        "babel-preset-stage-0": "^6.24.1",
        "clean-webpack-plugin": "^3.0.0",
        "css-loader": "^5.1.2",
        "file-loader": "^6.1.1",
        "html-webpack-plugin": "^3.2.0",
        "jest": "^26.5.3",
        "mini-css-extract-plugin": "^0.9.0",
        "nodemon": "^2.0.7",
        "optimize-css-assets-webpack-plugin": "^5.0.4",
        "prettier": "^2.2.1",
        "sass": "^1.45.2",
        "sass-loader": "^10.1.1",
        "style-loader": "^2.0.0",
        "supertest": "6.1.3",
        "terser-webpack-plugin": "^1.4.5",
        "webpack-dev-server": "^3.7.2",
        "workbox-webpack-plugin": "^6.1.1"
    }
}

Webpack dev server works fine until I try to make the post request. Webpack 开发服务器工作正常,直到我尝试发出发布请求。 I tried different versions of webpacks, webpack dev server, node-fetch but still getting the same error.我尝试了不同版本的 webpacks、webpack 开发服务器、node-fetch 但仍然遇到相同的错误。 How can I solve this error?我该如何解决这个错误?

Edit: I think the problem has something to do with the fact that webpack dev server runs on port 8080 while my express server runs on 8081. When I checked the network tab for the request this is what's shown:编辑:我认为问题与 webpack 开发服务器在端口 8080 上运行而我的快速服务器在 8081 上运行这一事实有关。当我检查网络选项卡的请求时,显示的是: 网络选项卡中的 API 获取请求

And this shows up after the error:这显示在错误之后:

Edit: I was able to solve the problem by running webpack dev server and then opening another terminal and running npm start to start my express server.编辑:我能够通过运行 webpack 开发服务器然后打开另一个终端并运行 npm start 来启动我的快速服务器来解决问题。 Is this how it's supposed to work normally?这是它应该如何正常工作的方式吗? Because the tutorial I was following was working fine with only webpack dev server因为我遵循的教程仅适用于 webpack 开发服务器

This error happens because the express server isn't running.发生此错误是因为快速服务器未运行。 Run npm start to start the express server运行npm start启动快递服务器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 发布请求 net::ERR_CONNECTION_REFUSED - Post Request net::ERR_CONNECTION_REFUSED net :: ERR_CONNECTION_REFUSED尝试从JS调用Slim PHP的GET请求 - net::ERR_CONNECTION_REFUSED when trying to call GET request from JS to Slim PHP 向“http://localhost:3000/”发出 GET 请求时出错“加载资源失败:net::ERR_CONNECTION_REFUSED ... delete.js” - error when making GET request to 'http://localhost:3000/' “Failed to load resource: net::ERR_CONNECTION_REFUSED … delete.js” Heroku + Node.js + Peer.js(webrtc):无法加载资源:net :: ERR_CONNECTION_REFUSED - Heroku + Node.js + Peer.js (webrtc): Failed to load resource: net::ERR_CONNECTION_REFUSED 对服务器的发布请求在 express net::ERR_CONNECTION_REFUSED 中给了我错误 - Post request to server is giving me error in express net::ERR_CONNECTION_REFUSED 为什么我收到错误 net::ERR_CONNECTION_REFUSED 与 JSON 服务器 POST 请求? - Why do I get error net::ERR_CONNECTION_REFUSED with JSON Server POST request? POST http://localhost:9000/ net::ERR_CONNECTION_REFUSED - POST http://localhost:9000/ net::ERR_CONNECTION_REFUSED node.js / jQuery跨域:ERR_CONNECTION_REFUSED - node.js / jQuery cross domain: ERR_CONNECTION_REFUSED net :: ERR_CONNECTION_REFUSED错误jQuery ajax node.js - net::ERR_CONNECTION_REFUSED Error jQuery ajax node.js Node JS Web 服务上的 Angular - GET http://127.0.0.1 net::ERR_CONNECTION_REFUSED - Angular on Node JS web service - GET http://127.0.0.1 net::ERR_CONNECTION_REFUSED
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM