Post 服务器端 Meteor 上的请求正文为空(错误 503)
Post request body is empty on server side Meteor (Error 503)
我正在使用 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.dir("## BODY ##");
console.dir(req.body);
if (req.method == "POST") {
const modifiedContent = req.body.data;
const pathString = req.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");
}
});
503 错误服务器端错误
const modifiedContent = req.body.data;
const pathString = req.body.filePath;
我不了解 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');
});
}));
我正在使用 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.dir("## BODY ##");
console.dir(req.body);
if (req.method == "POST") {
const modifiedContent = req.body.data;
const pathString = req.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");
}
});
503 错误服务器端错误
const modifiedContent = req.body.data;
const pathString = req.body.filePath;
我不了解 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');
});
}));