POST 方法发送清晰的字符串。反应 -> API

问题描述 投票:0回答:1

我有用于 SQL 查询的组件,当我想向 API 服务器后端发送任何查询时崩溃,因为 MySQL 看到像我的请求一样的空字符串。我的后端运行良好,因为当我从 postman.exe 测试它时,一切都很好。
我的提交组件位于 localhost:3000 上,api 位于 localhost:5000 上。
这是我的发送方法:

submitData= () =>{
        const { queryFromEditor } = this.props;

        let queryFromEditorString = queryFromEditor.join(' ');
        console.log(queryFromEditorString);

       let xhr = new XMLHttpRequest();
        xhr.open("POST", 'http://localhost:5000/api/query', true);
        xhr.setRequestHeader('Content-Type', 'application/json');
        xhr.send(JSON.stringify({
            "value": queryFromEditorString,
        }));

    }

这是我的发帖方法

app.post('/api/query', (req, res) => {
  console.log(`\n  Query input : ${JSON.stringify(req.body)}`);
  let queryInput = JSON.stringify(Object.values(req.body));

  queryInput = queryInput.slice(1,-1);// Opravit, aby to nevypadalo tak blbě
  queryInput = queryInput.slice(1,-1);

  let queryOutput;
  db.query(queryInput, (err, result) =>{
    if(err) throw err+' : '+queryInput;

    queryOutput = result;
    console.log("\nQuery output "+ JSON.stringify(queryOutput));
    res.json(queryOutput);
  });
});
javascript mysql reactjs post
1个回答
0
投票

问题出在服务器上。
简单修复:添加“app.use(express.json());

© www.soinside.com 2019 - 2024. All rights reserved.