Я запускаю приложение реагирования с nodejs на сервере. Всякий раз, когда я делаю вызов axios без параметров, все работает, но когда я пытаюсь добавить параметры и использовать их с req.body.variableName, он печатает неопределенный. Печать req.body - это просто пустая фигурная скобка, поэтому мои данные почему-то не отправляются.
Файл реакции с вызовом axios
getFriendCount(){
var data = {
UserID: this.state.UserID,
}
console.log(data)
axios.get("http://localhost:8081/getFriendCount", data).then((response)=>{
if (response.status >= 400) {
console.log(response.status);
throw new Error("Bad response from server");
} else{
return response.data[0].friendCount
}
}).then((data)=>{
console.log(data)
this.setState({count: data})
})
}
serversql.js
const HTTP_PORT = process.env.PORT || 8081;
const express = require("express");
const bodyParser = require('body-parser');
const app = express();
const urlencodedParser = bodyParser.urlencoded({ extended: false });
const cors = require("cors");
const mysql = require('mysql');
app.use(cors());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
const {addNewMemory,getAllMemories, getFriendCount} = require('./db-services.js');
//Database connection...
app.get('/data', getAllMemories);
app.post('/addMemory',urlencodedParser,addNewMemory);
app.get('/getFriendCount',urlencodedParser, getFriendCount);
app.listen(HTTP_PORT, ()=>{console.log("API listening on: " + HTTP_PORT)});
db-services.js (req.body.UserID не определен)
module.exports={
getFriendCount:(req,res) => {
console.log(req.body) //empty curly brace
console.log(req.body.UserID) //undefined
console.log(req.params) //empty curly brace
var sql = "SELECT COUNT(*) AS friendCount FROM friendship WHERE UserId1 = (?) OR UserId2 = (?)";
var values = [req.body.UserID, req.body.UserID]
dbconnection.query(sql, values, function(err,result,fields){
if(err){
return res.status(500).send(err);
} else {
res.send(result);
}
})
},
}