Javascript 重写方法GET以使用锚标记在nodeJS中删除
假设我的ejs文件中有这个链接:Javascript 重写方法GET以使用锚标记在nodeJS中删除,javascript,node.js,express,Javascript,Node.js,Express,假设我的ejs文件中有这个链接: <a href="/user/12">Delete</a> 所以我的问题是,我如何将GET请求从链接覆盖到DELETE方法中,以确保我的路由器.DELETE路由能够处理它。现在,它只会将请求检测为GET。我使用这个模块来处理它,但似乎所有的示例都使用表单元素,而不是锚定方式。有人吗?无论如何,现在这里是我在发出应用程序请求之前使用中间件来覆盖GET请求的解决方案,到目前为止,我将href链接更改为如下: <a href="/use
<a href="/user/12">Delete</a>
所以我的问题是,我如何将
GET
请求从链接覆盖到DELETE
方法中,以确保我的路由器.DELETE
路由能够处理它。现在,它只会将请求检测为GET
。我使用这个模块来处理它,但似乎所有的示例都使用表单元素,而不是锚定方式。有人吗?无论如何,现在这里是我在发出应用程序请求之前使用中间件来覆盖GET
请求的解决方案,到目前为止,我将href
链接更改为如下:
<a href="/user/12?_method=DELETE" >Delete</a>
最后,请求的路径将与此路由匹配:
router.delete( '/user/:id', function ( req, res ) {
// delete operation stuff
});
任何遇到这个问题的人都可以尝试一下,如果有人面对这个问题并且能够用很好的解决方案来解决它,请让我知道。祝你快乐 先生,你让我的早晨不那么沮丧了。谢谢
router.use( function( req, res, next ) {
// this middleware will call for each requested
// and we checked for the requested query properties
// if _method was existed
// then we know, clients need to call DELETE request instead
if ( req.query._method == 'DELETE' ) {
// change the original METHOD
// into DELETE method
req.method = 'DELETE';
// and set requested url to /user/12
req.url = req.path;
}
next();
});
router.delete( '/user/:id', function ( req, res ) {
// delete operation stuff
});