当我发送一个对象作为帖子的参数或获取请求快递时,似乎没有收到它
我尝试在前端和服务器上获取和发布请求。所有依赖项都工作正常(body解析器等)
前端:
axios.get('http://localhost:4000/videoComments/comment', {pauseTime: 10})
或
axios.get('http://localhost:4000/videoComments/comment', {data:{pauseTime: 10}})
后端:
videoCommentsRoutes.route('/comment').get(function (req, res) {
console.log(req.body);
req.body是一个空对象。 req.data,req.params都未定义
答案 0 :(得分:1)
GET
请求仅支持查询参数。 axios
(以及fetch
或XMLHTTPRequest
包装程序中的任何一个,例如superagent
)都应将您的对象转换为查询字符串。
尝试使用req.query
获取查询参数。
这是express
docs的相关信息。
答案 1 :(得分:0)
请愿单仅在setState
上可用,如动词一样。如果要通过String _profilePhoto = "";
//Change await into an async operation
http.post(url4, body: body, headers: headers).then( (response) {
var responseJson = json.decode(response.body);
print(data['fieldData']['iMedewerker Foto']);
setState(() {
_data = responseJson['response']['data'][0];
_profilePhoto = data['fieldData']['iMedewerker Foto'];
});
})
Widget build(BuildContext context){
//Check if string is empty
if ( _profilePhoto == "" ){
return CircularProgressIndicator();
}else {
return Image.network( _profilePhoto );
}
}
发送数据,请将其附加到URL。或使用post
。
get
或
axios.post
答案 2 :(得分:0)
后端应该像
videoCommentsRoutes.route('/comment/:pauseTime').get(function (req, res) {
console.log(req.params.pauseTime);
})
或
videoCommentsRoutes.route('/comment').get(function (req, res) {
console.log(req.query.pauseTime);
})
前端呼叫类似
axios.get('http://localhost:4000/videoComments/comment', {params:{pauseTime: 10}})