Nodejsの処理POST要求

2420 ワード

次のシミュレーションは、Webログインのプロセスです.リンクを要求すると、フォームが取得され、フォームに適切な値が入力され、ログインがコミットされます.
var http = require('http');
var querystring = require('querystring');
http.createServer(function (request, response) {
	var responseString = '';
	response.writeHead(200, {'content-type': 'text/html'});
 
	//    get  
	var postData = "";
	if (request.method == "GET") {
		responseString = '<!doctype html><html lang="en">\
		<head><meta charset="UTF-8" />\
			<title>Document</title>\
		</head>\
		<body>\
			<form action="/" method="post">\
				<input type="text" name="name" value="xulidong" />\
				<input type="text" name="password" value="123456" />\
				<input type="text" name="code" value="abc123" />\
				<input type="submit" value="submit" />\
			</form>\
		</body>\
		</html>';
 
		response.write(responseString);
 
		response.end();
	} else if (request.method == "POST") {
		request.setEncoding("utf8");
		
		request.addListener("data", function (postDataChunk) {
			postData += postDataChunk;
		});
 
		request.addListener("end", function () {
			var objectPostData = querystring.parse(postData);
			for (var i in objectPostData) {
				responseString += i + " => " + objectPostData[i] + "<br>";
			}
			response.write(responseString);
			response.end();
		});
	}
}).listen(8080, '192.168.33.98');

ブラウザを開いて入力:http://192.168.33.98:8080/,
192.168.33.98は私のコンピュータのIPで、図のようなホームページを得ることができます:

このページはGETリクエストを処理するコードで生成され、デフォルトで入力された値です.submitボタンを変更または直接クリックして提出し、次の結果を得ることができます.
nodejs之处理POST请求_第1张图片