我试图通过axios请求发送数据到我的后端脚本,但是主体看起来是空的。
以下是从前端发送的请求:
axios.request({
method: 'GET',
url: `http://localhost:4444/next/api`,
headers: {
'Authorization': token
},
data: {
next_swastik: 'lets add something here'
},
}).then((res)=>{
console.log("api call sucessfull",res);
}).catch((err)=>{
console.log("api call unsucessfull",err);
this.props.toggleLoading(false);
})
下面是一个后端:
app.get('/next/api', verifyToken, function(req, res) {
console.log(req.body);
})
但是我得到的是{}
空的主体。我得到的是标头和其他数据,而不是数据。
5条答案
按热度按时间oknwwptz1#
GET请求不应该有主体。
将方法从"GET"更改为"POST"
就像这样:
并更改您的API以期待发布
将
data
属性更改为params
并更改API以注销参数
就像@MaieonBrix说的,确保你的头包含你要发送的内容类型。
mkshixfv2#
看起来你只剩下两个点来让它工作:
POST
而不是GET
,因为你想发送一些东西。Content-Type
:'应用程序/json'在后端,不要忘记使用某种类型的body parser实用程序包,如下所示:body-parser并使用您的应用进行设置。
我假设你的服务器使用的是express,下面是你将如何使用express:
v6ylcynt3#
如果您收到“bodyParser is deprecated”的错误,请尝试以下操作-
如果您想从HTTP请求的正文中获取数据,请使用“post”方法。
hkmswyz64#
因为get请求...通常没有主体,它们基本上就是你在url栏中输入的内容,所以你应该使用参数而不是主体,如果你想单独使用它们,你可以使用querystring。
url/posts?post=post123&comment=comment321
在下文中,向url/posts/post 123/comment 321 =〉发出的请求将填充以下两个参数。
你必须使用post但注解是不必要的.
esyap4oy5#
试试这个