我想在我的Node.js应用程序中将一个ajax调用从我的javascript文件中的一个快速路由,请注意,JavaScript文件也是同一个Node.js应用程序的一部分。Ajax呼叫表示路由不工作?
我遇到的问题是传递给路由的数据总是空的。我可以看到路由被调用,因为我的console.log在req中显示一个对象,但该对象是空的。
这里是我的Ajax调用代码:
$.ajax({
type: 'POST',
url: '/match',
contentType: 'application/json',
data: "test",
success: function(data) {
console.log("Successfully saved the matched beans to the user.");
}
}).done(function () {
console.log("OK");
}).fail(function (jqXHR, textStatus, errorThrown) {
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
});
我的路线是这样的:
router.post("/match", middleware.isLoggedIn, function(req, res) {
console.log("Route Test1: " + req.body);
console.log("Route Test2: " + JSON.stringify(req.body));
});
在我得到Route Test1: [object Object]
路线的第一的console.log和第二console.log我得到Route Test2: {}
。
如何访问我传递给路由的数据“测试”?
在此先感谢您的帮助!
@Phil的感谢!这返回'未定义'。实际上,我有一个JSON对象,我需要将它作为数据传递,但是当我开始遇到问题时,我简化它以仅仅“测试”。任何其他想法? – user2573690
将我的评论移至答案。你是否在'app.use(bodyParser.json())'中使用'body-parser'? – Phil
@Phil是的,我在我的app.js app.use(bodyParser.urlencoded({extended:true})); – user2573690