[英]Javascript REST API with body in GET
我在 Javascript(前端)工作,有一個同事在后端使用 NodeJS。 在調用 GET 請求時,他要求我將數據放入 body 中,但我不知道該怎么做。 (如果我將此代碼用於 POST 請求,則它工作正常)。 你能告訴我這是否可能以及如何做到這一點? 他說這是可能的,但我在谷歌上搜索了很多,找不到正確的方法來做到這一點。 我得到的錯誤: “無法在 'Window' 上執行 'fetch':使用 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"
如果您想知道選擇哪一個,請查看這個問題:( REST 中的 PUT 與 POST )
如果你想發送一個帶有正文的請求,那么你應該發出一個 POST 請求而不是一個 GET 請求。 GET 請求不能有其性質和主要目標的主體。 GET-request 的所有參數必須僅在 URL 本身中指明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.