可能是由以下几个原因导致的:
body-parser
和multer
。确保在处理请求前,请求体已经正确地被解析。application/json
。针对以上问题,可以参考以下解决方案:
body-parser
解析请求体:const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.post('/api/endpoint', (req, res) => {
const jsonData = req.body;
// 处理jsonData
});
app.listen(3000, () => {
console.log('Server started on port 3000');
});
import 'dart:convert';
import 'package:http/http.dart' as http;
void main() async {
final url = 'http://your-node-server/api/endpoint';
final data = {'key': 'value'};
final headers = {'Content-Type': 'application/json'};
final response = await http.post(
Uri.parse(url),
headers: headers,
body: jsonEncode(data),
);
// 处理响应
}
这样,Node JS服务器就能正确接收到来自Dart的POST请求,并且JSON字符串的值不再为空。
领取专属 10元无门槛券
手把手带您无忧上云