我知道我可以路由到 router.get('/object/:id', ...)
, router.post('/object/new', .. .)
、router.delete('/object/:id', ...)
和 router.put('/object/:id', ... )
当我浏览到特定对象时,浏览器将发出 http get 请求。我知道我可以通过表格发布信息。但是如何实现 DELETE
和 PUT
方法以便编辑和删除对象呢?如何指定路由中使用的方法?我是否必须更改路线以使其唯一(即,router.get('/object/delete/:id', ...)
和 router.get('/object/edit/:id', ...)
) 并只使用 get 方法?
最佳答案
在您的 HTML form
中您可以使用 method
元素属性来指定方法。 <form method="put">
。然而,更常见的是,这些类型的 RESTful API 端点是从浏览器使用 JavaScript 作为 AJAX 请求调用的,它可以使用所有可用的 HTTP 方法。这可以通过 XmlHttpRequest 标准 API、jQuery 的 $.ajax
来完成。 ,或您选择的前端框架。
Do I have to change the route so that it is unique
不,您可以使用不同的 HTTP 方法使用相同的 URL 路径,并且这些方法可以由不同的回调函数处理以实现不同的行为。传统的 REST URL 方案大量使用请求相同 URL 路径的各种 HTTP 方法(GET 表示获取,PUT 表示替换等)。
关于javascript - Node/Express - 如何实现 DELETE 和 PUT 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26825521/