如何解决GET中带有主体的Javascript REST API
我正在使用Javascript(前端)工作,并且有一位同事在后端使用NodeJS。 呼叫GET请求时,他要求我将数据放入正文,但我不知道该怎么做。 (如果我将此代码用于POST请求,则可以正常工作)。 你能告诉我这是否可行以及如何做到吗?他说这是有可能的,但我在Google上搜索了很多,却找不到正确的方法。 我收到的错误:“无法在“窗口”上执行“获取”:使用GET / HEAD方法的请求不能具有主体。”
let URL = "http://localhost:3000/verifyUser";
let token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2NjJDMTRBNk";
fetch(URL,{
method: request,mode: 'cors',body: JSON.stringify({
user: 'Carlos6',password: '543534543',email: "algo6@gmail.com"
}),headers: {
'Accept' : 'application/json','Content-type': 'application/json; charset=UTF-8','auth-token': token
}
}).then(function (response) {
if (response.ok) {
return response.json();
}
return Promise.reject(response);
}).then(function (data) {
console.log(data);
}).catch(function (error) {
console.warn('Something went wrong.',error);
});
解决方法
您正在使用HTTP GET并发送正文。
如果要发送正文(JSON),则应使用PUT和POST。
最好是:
- 将您的客户代码更改为
method: "PUT"
- 更改服务器以访问PUT请求
如果您想知道选择哪个,请查看以下问题: (PUT vs. POST in REST)
,如果您希望发送带有正文的请求,则应该发出POST请求而不是GET请求。 GET请求不能具有其本质和主要目标。 GET请求的所有参数都只能在URL本身中表示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。