【问题标题】:Socket hang up when using axios使用axios时socket挂断
【发布时间】:2020-11-18 17:16:39
【问题描述】:

我有一个错误“错误:套接字挂起”,我不知道是什么原因造成的,但它会将数据保存在数据库中。

这是我的代码:

dataschema.js

const mongoose = require("mongoose");

const DataSchema = new mongoose.Schema({
  data1: {
    type: String
  },
  data2: {
    type: String
  },
  data3: {
    type: String
  },
  data4: {
    type: String
  },
});

const DataModel = mongoose.model("TEST123", DataSchema);

module.exports = DataModel;

routes.js

const express = require("express");
const app = express();
const mongoose = require("mongoose");
const DataModel = require('./models/dataschema');

var bodyParser = require('body-parser');
app.use(bodyParser.json());

mongoose.connect(
    "mongodb://localhost:27017/stocksmonitor?readPreference=primary&appname=MongoDB%20Compass%20Community&ssl=false",
    { useNewUrlParser: true }
);

app.post('/insert', (req, res) => {

    const stock = new DataModel({
        data1: req.body[0],
        data2: req.body[1],
        data3: req.body[2],
        data4: req.body[3],
    })
    
    stock.save();
    
})

app.listen(3001, () => {
    console.log("You are connected");
})

保存数据.js

const axios = require('axios');

SaveInfo = () => {

  const testdata = ["a", "b", "c", "d"]

  axios({
      method: 'post',
      url: 'http://localhost:3001/insert',
      data: testdata
  })
  .then(function (response) {
      console.log(response);
  })
  .catch(function (error) {
      console.log(error);
  });
}
SaveInfo(); 

【问题讨论】:

    标签: node.js mongoose axios


    【解决方案1】:

    我检查了代码,发现您没有为控制器返回响应。在下面的代码中保存后添加res.send()res.json()。所以 express 可以返回正确的响应。否则请求将超时,因为它没有解析并且 Express 将切断连接。因此 axios 正在抛出 Error: Socket hang up unexpectedly

    app.post('/insert', (req, res) => {
    
        const stock = new DataModel({
            data1: req.body[0],
            data2: req.body[1],
            data3: req.body[2],
            data4: req.body[3],
        })
        
        stock.save();
    })
    

    【讨论】:

      猜你喜欢
      • 2020-08-14
      • 2017-11-09
      • 2017-10-20
      • 2019-07-27
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2012-07-10
      • 1970-01-01
      相关资源
      最近更新 更多