我想在我的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