Node.js 使用axios时插座挂起
我遇到了一个错误“error:socket挂起”,我不知道是什么原因造成的,但它将数据保存在数据库中 这是我的密码: dataschema.jsNode.js 使用axios时插座挂起,node.js,mongoose,axios,Node.js,Mongoose,Axios,我遇到了一个错误“error:socket挂起”,我不知道是什么原因造成的,但它将数据保存在数据库中 这是我的密码: dataschema.js const mongoose = require("mongoose"); const DataSchema = new mongoose.Schema({ data1: { type: String }, data2: { type: String }, data3: { type:
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");
})
savedata.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();
我检查了代码,发现您没有返回控制器的响应。在保存后的代码中添加
res.send()
或res.json()
。因此express可以返回正确的响应。否则请求将超时,因为它未解析,Express将切断连接。因此axios抛出了错误:套接字意外挂起
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();
})