我正在使用
我将
fetch
API向我的服务器发送数据,但每次都会得到一个空的主体。根据fetch
文档的说法,要发布数据,您需要传递一个包含一个方法键设置为“POST”和一个字符串或FormData
对象(或其他一些对象)的对象。下面是一个简单的示例,但它没有按照我期望的工作:var formData = new FormData();
formData.append("test", "woohoo");
formData.append("foo", "bar")
// prints out contents of formData to show that it has contents!
formData.forEach(function(key, value) {
console.log(`${key}: ${value}`);
});
fetch("/fetch", {
method: "POST",
body: formData
}).then(function(response) {
return response.json();
}).then(function(json) {
// Logs empty object
console.log(json);
}).catch(function(err) {
console.log(err);
});
我还在后台拥有一个express服务器,用于记录请求体并在响应中回显它。
app.post("/fetch", function(req, res) {
// Logs empty object :(
console.log(req.body);
res.send(JSON.stringify(req.body));
});
我将
formData
作为fetch
请求的正文,但似乎没有任何东西通过。请在此处查看我的测试文件并帮助!
throw new TennisBall()
,这就是你需要的来取球。 :) - markthethomas