POST请求节点返回404
问题描述:
我有此jQuery中:POST请求节点返回404
$.ajax(
{
type: 'POST',
data : mydata,
url : '/routerfunction',
dataType : 'String',
success : function(data)
{
//do stuff
},
error: function(xhr, status, error)
{
console.log(error);
console.log(xhr);
console.log(status);
},
}
我有此在index.js(节点)
router.post('/routerfunction/:mydata', function(req,res)
{
//do stuff
}
我有此在app.js(节点)
app.use('/', index);
app.use('/users', users);
当我做一个POST请求routerfunction,我得到404错误。我真的试图找到错误,但我不能。错误在哪里?提前致谢。
答
这条路线:
router.post('/routerfunction/:mydata', ...
需要像网址:
/routerfunction/SOMETHING
,并不会匹配:
/routerfunction
所以404是正确的在这里。
你将需要:
router.post('/routerfunction', ...
相匹配的要求。
请记住,你还需要一个body-parser
解析体,其中将包括在AJAX请求您随后将能够与req.body
访问发送的数据 - 看到这些问题的答案为是一些例子:
我不陌生,节点,但是''/ routerfunction /:mydata''看起来好像你期望数据在url上。这不是POST请求的方式。数据位于请求正文中。 – Taplar
在routerfunction之后,你的ajax url会丢失一些东西,你的节点会像/ routerfunction/data一样等待。 – Cylexx