我尝试使用express将数据发送到我的NodeJS服务器。
问题在于,当我发布http帖子时,数据会被包装在一个对象中,其中数据是此对象中的键,并且值变为空。
http({
method: 'POST',
url: '/api/booking',
data: {test:"data"},
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
}
}).then(function successCallback(response) {
console.log(response)
}, function errorCallback(response) {
console.log("API request failed: "+response);
});
响应将是这样的;
{ '{"test":"data"}': '' }
我尝试了很多不同的解决方案,我已经搜索过了。但我无法确定问题所在。
我也尝试过使用邮递员,在这种情况下它运作得很好。
谢谢!
问题没有解决,但被绕过;
JSON.parse(Object.keys(req.body)[0]);
在服务器端。
答案 0 :(得分:0)
您试试{'test':'data'}
吗?
答案 1 :(得分:0)
您是否尝试对数据进行编码或字符串化?
window.encodeURIComponent( {test:"data"} )
或
JSON.stringify( {test:"data"} )
答案 2 :(得分:0)
你只需要将以下代码添加到服务器文件中,这将解析传入的json请求
app.use(bodyParser.json());