向节点发送请求返回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发送数据到后端
- 单页面应用程序,http或websockets,连接/expression完成?
- 在客户端从CoffeeScript渲染JS(在Node.js服务器上)
- 使用Express保存file upload到MongoDB
- Angular $ http.get和Express req.body是空的
- Node.js结合mongoose和Sails水线
- 表单值更新使用Angular js,Node Js,express js和Mongo DB
- nodejs一次渲染多个页面
- 了解如何使用NodeJS创build一个简单的后端
- 将XXX.db.bson_serializer.ObjectID.createFromHexString(id)外包给函数?