为什么 delete 方法在位置 0 错误中给我意外的标记 < in JSON?
Why the delete method giving me unexpected token < in JSON at position 0 error?
我在尝试删除数据时遇到错误,
我在邮递员上试过了,它工作正常,但浏览器给我这个错误:
DELETE http://localhost:5000/items/[object%20Object] 404 (Not Found)
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
客户端:
<button onClick={() => handleDeleteItem(_id)}>DELETE BUTTON</button>
const handleDeleteItem = id => {
const deletion = window.confirm('Do you really want to delete the item?');
if(deletion){
const url = `http://localhost:5000/items/${id}`;
fetch(url, {
method: 'DELETE',
headers: {
'content-type': 'application/json'
},
})
.then(res=>res.json())
.then(data =>{
console.log(data);
})
}
}
服务器端:
app.post('/items/:id', async(req, res) =>{
const id = req.params.id;
const query = {_id: ObjectId(id)};
const result = await itemsCollection.deleteOne(query);
res.send(result);
});
您有 'content-type': 'application/json'
但没有将 JSON 放入主体中,因此 JSON 解析中间件正在尝试解析空主体并抛出异常。
不要谎报您发送的内容。
旁白:
app.post
查找 POST 请求,但您正在发出删除请求
id
正在转换为 [object%20Object]
因此它是一个对象而不是您期望的字符串或数字
我在尝试删除数据时遇到错误, 我在邮递员上试过了,它工作正常,但浏览器给我这个错误:
DELETE http://localhost:5000/items/[object%20Object] 404 (Not Found)
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
客户端:
<button onClick={() => handleDeleteItem(_id)}>DELETE BUTTON</button>
const handleDeleteItem = id => {
const deletion = window.confirm('Do you really want to delete the item?');
if(deletion){
const url = `http://localhost:5000/items/${id}`;
fetch(url, {
method: 'DELETE',
headers: {
'content-type': 'application/json'
},
})
.then(res=>res.json())
.then(data =>{
console.log(data);
})
}
}
服务器端:
app.post('/items/:id', async(req, res) =>{
const id = req.params.id;
const query = {_id: ObjectId(id)};
const result = await itemsCollection.deleteOne(query);
res.send(result);
});
您有 'content-type': 'application/json'
但没有将 JSON 放入主体中,因此 JSON 解析中间件正在尝试解析空主体并抛出异常。
不要谎报您发送的内容。
旁白:
app.post
查找 POST 请求,但您正在发出删除请求id
正在转换为[object%20Object]
因此它是一个对象而不是您期望的字符串或数字