向节点发送请求返回404

我有这个在jQuery中:

$.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错误。 我真的试图find错误,但我不能。错误在哪里? 提前致谢。

这条路线:

 router.post('/routerfunction/:mydata', ... 

需要一个URL,如:

 /routerfunction/SOMETHING 

并不符合:

 /routerfunction 

所以404在这里是正确的。

您将需要:

 router.post('/routerfunction', ... 

以匹配该请求。

请记住,您还需要一个body-parser来parsingbody,它将包含AJAX请求中发送的数据,然后您可以使用req.body访问这些req.body – 请参阅以下答案:

  • 从单击事件运行node.js文件
  • 简单的Node / Express应用程序,函数式编程方式(如何处理JavaScript中的副作用?)
  • Node.js通过AJAX发送数据到后端