fetch api 未将数据发布到节点服务器
fecth api not posting data to nodeserver
我设置了一个节点后端,当我发送一个 get 请求时,它工作得很好,但是当我发送一个 post 请求时,它不会将数据发送到后端。
这是我的代码:
fetch("http://localhost:3000/", { method: "POST",body:{"title":title.value,"content":content.value}})
.then((res) => res.json())
.then((data) => {
console.log(data);
});
我什至尝试通过 formdata 对象发送它,但它仍然无法正常工作:
const formdata = new FormData();
formdata.append("title",title.value)
formdata.append("content",content.value)
fetch("http://localhost:3000/", { method: "POST",body:formdata})
.then((res) => res.json())
.then((data) => {
console.log(data);
});
这是 console.log:
enter image description here
这是后端:
//crud applications
app.post("/", async (req, res) => {
const { title, content } = req.body;
try {
const newPost = await postModel.create({ title, content });
res.json(newPost);
} catch (error) {
res.status(500).send(error);
}
});
不使用 fetch,而是使用 Axios。使用此 CDN <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
将其导入您的 HTML
然后使用此代码应该可以工作:
const data = {
title: title.value,
content: content.value,
};
axios.post("http://localhost:3000/", data).then((response) => {
const result = response.data;
console.log(result);
});
我设置了一个节点后端,当我发送一个 get 请求时,它工作得很好,但是当我发送一个 post 请求时,它不会将数据发送到后端。 这是我的代码:
fetch("http://localhost:3000/", { method: "POST",body:{"title":title.value,"content":content.value}})
.then((res) => res.json())
.then((data) => {
console.log(data);
});
我什至尝试通过 formdata 对象发送它,但它仍然无法正常工作:
const formdata = new FormData();
formdata.append("title",title.value)
formdata.append("content",content.value)
fetch("http://localhost:3000/", { method: "POST",body:formdata})
.then((res) => res.json())
.then((data) => {
console.log(data);
});
这是 console.log: enter image description here
这是后端:
//crud applications
app.post("/", async (req, res) => {
const { title, content } = req.body;
try {
const newPost = await postModel.create({ title, content });
res.json(newPost);
} catch (error) {
res.status(500).send(error);
}
});
不使用 fetch,而是使用 Axios。使用此 CDN <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
然后使用此代码应该可以工作:
const data = {
title: title.value,
content: content.value,
};
axios.post("http://localhost:3000/", data).then((response) => {
const result = response.data;
console.log(result);
});