私は node.js に慣れることで視野を広げようとしています (私は職業上の .NET 開発者です)。単純な POST の例だと思っていたものに問題があります。私は jQuery の経験があるので、node.js は、私が構築しているこのサンプル Web サイトで比較的知られていないものです。
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 には 1 桁の数字が含まれます (例: 2)
- fail() の textStatus は単に「エラー」です