Javascript 如何在REST请求后不使用重定向更新HTML内容?
我被告知为API请求发出Javascript 如何在REST请求后不使用重定向更新HTML内容?,javascript,html,api,rest,request,Javascript,Html,Api,Rest,Request,我被告知为API请求发出重定向('/')不是RESTful的。我一直这样做: app.delete('/items/:id', urlencodedParser, (req, res) => { let index = parseInt(req.params.id); items.splice(index, 1); res.redirect('/'); }); 我现在知道这是错误的。但是,在不手动刷新页面的情况下,我需要做什么来更新HTML网页上的内容呢?通常,
重定向('/')
不是RESTful的。我一直这样做:
app.delete('/items/:id', urlencodedParser, (req, res) => {
let index = parseInt(req.params.id);
items.splice(index, 1);
res.redirect('/');
});
我现在知道这是错误的。但是,在不手动刷新页面的情况下,我需要做什么来更新HTML网页上的内容呢?通常,发行人(例如HTML客户端)会收到确认(例如202已接受)并决定如何呈现结果
可能是web客户端在此时决定刷新,或者获取新列表并使用动态HTML技术重新呈现——这取决于web站点的复杂性,两者都可以
不过你说得对,这不应该在服务器端完成——未来的应用可能没有HTML呈现——例如系统集成或本机移动应用
在这些情况下,我喜欢返回一个有效负载,它向客户机提示下一步要做什么。例如,我可能包括以下内容:
200 OK
{
"message": "delete id xxx completed",
"_next": "https://my-server.com/api/items"
}
它可以帮助开发人员在将来决定如何进行。在没有底层框架的情况下,最简单的方法可能是jQuery的.load()特性