我正在尝试通过熟悉 node.js(我是一名专业的 .NET 开发人员)来扩展我的视野,但我遇到了我认为是一个简单的 POST 示例的问题。我确实有使用 jQuery 的经验,所以在我正在构建的这个示例网站中,node.js 是我相对未知的一个。
node.JS 服务器代码:
var express = require('express');
var app = express();
app.configure(function() {
app.use(express.bodyParser());
app.use(app.router);
app.use(express.logger());
});
app.use(express.static(__dirname + '/public/PRB_Presentation'));
app.post('/GetPage', function(request, response){
console.log(request.body.pageNumber);
response.send(request.body.pageNumber);
});
var port = 80;
app.listen(port);
console.log('Listening on port: ' + port);
我的客户端 jQuery 逻辑:
function getPage(pageNumber){
$.ajax({
url: '/GetPage',
type: 'POST',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: JSON.stringify({ pageNumber: pageNumber })
}).done(function(data, textStatus, jqXHR) {
console.log("Success: " + data);
}).fail(function(jqXHR, textStatus, errorThrown) {
console.log("Error: " + errorThrown);
}).always(function() {
console.log("Done!");
})
;
};
在我的 node.js 服务器运行时,我确实看到了我发送的页码,将输出正确地发送到控制台窗口,但这就是我在客户端得到的:
错误:未知
完成!
我假设我在这里做了一些非常简单的错误,但我无法弄清楚。
编辑
- request.body.pageNumber 包含单个数字(例如,2)
- fail() 中的 textStatus 只是“错误”