node-GetPOST
生活随笔
收集整理的這篇文章主要介紹了
node-GetPOST
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Node.js GET/POST請求var http = require('http');
var url = require('url');
var util = require('util');http.createServer(function(req, res){res.writeHead(200, {'Content-Type': 'text/plain; charset=utf-8'});res.end(util.inspect(url.parse(req.url, true)));
}).listen(3000);訪問:http://127.0.0.1:3000/?arg1=xxx&arg2=yyy
輸出:
Url {protocol: null,slashes: null,auth: null,host: null,port: null,hostname: null,hash: null,search: '?arg1=xxx&arg2=yyy',query: [Object: null prototype] { arg1: 'xxx', arg2: 'yyy' },pathname: '/',path: '/?arg1=xxx&arg2=yyy',href: '/?arg1=xxx&arg2=yyy'
}可以使用 url.parse 方法來解析 URL 中的參數,代碼如下:var http = require('http');
var url = require('url');
var util = require('util');http.createServer(function(req, res){res.writeHead(200, {'Content-Type': 'text/plain'});// 解析 url 參數var params = url.parse(req.url, true).query;res.write("網站名:" + params.name);res.write("\n");res.write("網站 URL:" + params.url);res.end();}).listen(3000);訪問:http://127.0.0.1:3000/?arg1=xxx&arg2=yyy
輸出:
arg1:xxx
arg2:yyy獲取 POST 請求內容
POST 請求的內容全部的都在請求體中,http.ServerRequest 并沒有一個屬性內容為請求體,原因是等待請求體傳輸可能是一件耗時的工作。
比如上傳文件,而很多時候我們可能并不需要理會請求體的內容,惡意的POST請求會大大消耗服務器的資源,所以 node.js 默認是不會解析請求體的,當你需要的時候,需要手動來做。var http = require('http');
var querystring = require('querystring');
var util = require('util');http.createServer(function(req, res){// 定義了一個post變量,用于暫存請求體的信息var post = ''; ? ??// 通過req的data事件監聽函數,每當接受到請求體的數據,就累加到post變量中req.on('data', function(chunk){ ? ?post += chunk;});// 在end事件觸發后,通過querystring.parse將post解析為真正的POST請求格式,然后向客戶端返回。req.on('end', function(){ ? ?post = querystring.parse(post);res.end(util.inspect(post));});
}).listen(3000);以下實例表單通過 POST 提交并輸出數據:
var http = require('http');
var querystring = require('querystring');var postHTML =?'<html><head><meta charset="utf-8"><title>Node</title></head>' +'<body>' +'<form method="post">' +'arg1: <input name="arg1"><br>' +'arg2: <input name="arg2"><br>' +'<input type="submit">' +'</form>' +'</body></html>
?
總結
以上是生活随笔為你收集整理的node-GetPOST的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: node-全局对象
- 下一篇: node-OSDomainNetPath