发布请求正文在服务器端流星上为空(错误503)

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

我正在使用Axios将数据发送到API端点。在控制台的Network一侧,请求正文具有正确的数据。在Meteor服务器端,params和body均为空,并在控制台上引发503错误。

[我阅读了类似的问题,并确保将content-type设置为application\json,我尝试将mode设置为no-cors,我正在呼叫本地端点。

客户端代码

const modifyPackage = () => {

            const requestContent = {
                "filePath": package.file.path,
                "data": data
            };
            const requestConfig = {
                headers: {
                    "Content-Type": "application/json"
                }
            }

            axios.post('/modifyPackage',requestContent,requestConfig)
            .then((response) => {
                console.log(response);
            }).catch ((err) => {
                console.log(err);
            });
        }   
        modifyPackage();

服务器端代码

  Picker.middleware( bodyParser.urlencoded( { extended: false } ) );
  Picker.middleware( bodyParser.json() );

  Picker.route('/modifyPackage',(params, req,res,next) => {
    console.log("## PARAMS ##");
    console.log(params);
    console.dir("## BODY ##");
    console.dir(req.body);
    if (req.method == "POST") {
      const modifiedContent = params.body.data;
      const pathString = params.body.filePath;
      console.dir(pathString);
      console.dir(modifiedContent);

      fs.writeFile(pathString, modifiedContent, (err,data) => {
        if (data) {
          console.dir(data);
        }
        res.end();
      });
    } else {
      console.dir("Not Post")
      res.end("No Response");
    }
  });
javascript node.js meteor axios
2个回答
1
投票

503错误服务器端错误

const modifiedContent = req.body.data;
const pathString = req.body.filePath;

0
投票

我不认识Picker。您可以使用内置的Meteor Webapp软件包。

import { WebApp } from 'meteor/webapp';
import connectRoute from 'connect-route';

WebApp.connectHandlers.use(connectRoute((router) => {
  router.post('/modifyPackage/:someParam/:otherParam', (req, res, next) => {
    // some logic here.

    res.writeHead(200);
    res.end('some data');
  });
}));
© www.soinside.com 2019 - 2024. All rights reserved.