上下文: 我正在尝试使用JavaScript向服务器发送放置请求,并从我正在编写的html文件中提取内容。
问题: 我提出的请求在Insomnia中有效,但是当我尝试从html发送请求时,该请求无法正确接收。该代码也是由Insomnia生成的。 当我从html发送请求时,请求已发送,并且还可以,但服务器未完成请求中的任务,导致我认为未收到请求或错过了某些东西。 尝试发送请求时,控制台会显示一个响应,显示“ ok”,200等,但还有一个“ bodyUsed:false”部分。
失眠所产生的功能:
fetch("url", {
"method": "PUT",
"headers": {
"content-type": "application/x-www-form-urlencoded"
},
"body": {
"name": "name",
"desc": "description"
}
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
问题: 代码有什么问题吗?服务器如何接收请求但不接收正文? “ bodyUsed:false”消息是否表示由于某种原因忽略了请求的正文?难道都是服务器的故障吗?
免责声明: 我对Web开发有点陌生,所以如果我遗漏了一些明显的观点,请原谅我。
答案 0 :(得分:1)
如果保留"content-type": "application/x-www-form-urlencoded"
并以这种方式配置服务器,则应使用FormData发送数据,如下所示:
var formData = new FormData();
formData.append('name', 'Chris');
formData.append('descr', 'description');
fetch("url", {
"method": "PUT",
"headers": {
"content-type": "application/x-www-form-urlencoded"
},
"body": formData
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
});
答案 1 :(得分:-1)
尝试
push_back