中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

從零開始學習Node.js系列教程一:http get和post用法分析

發布時間:2020-09-27 18:11:12 來源:腳本之家 閱讀:303 作者:MIN飛翔 欄目:web開發

本文實例講述了Node.js中http get和post用法。分享給大家供大家參考,具體如下:

httpserverrequestget.js

/*
獲取GET請求內容
由于GET請求直接被嵌入在路徑中,URL是完整的請求路徑,包括了?后面的部分,因此你可以手動解析后面的內容作為GET請求的參數。
node.js中url模塊中的parse函數提供了這個功能。
 */
var http = require('http');
var url = require('url');
var util = require('util');
http.createServer(function(req, res){
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end(util.inspect(url.parse(req.url, true)));
}).listen(3000);
//在瀏覽器中訪問http://localhost:3000/user?name=joey&email=joey@joey.com 然后查看返回結果

從零開始學習Node.js系列教程一:http get和post用法分析

httpserverrequestpost.js

/*
POST請求的內容全部的都在請求體中,http.ServerRequest并沒有一個屬性內容為請求體,原因是等待請求體傳輸可能是一件耗時的工作,
比如上傳文件,而很多時候我們可能并不需要理會請求體的內容,惡意的POST請求會大大消耗服務器的資源,所有node.js默認是不會解析請求體的,
當你需要的時候,需要手動來做。
 */
var http = require('http');
var querystring = require('querystring');
var util = require('util');
http.createServer(function(req, res){
  var post = '';   //定義了一個post變量,用于暫存請求體的信息
  req.on('data', function(chunk){  //通過req的data事件監聽函數,每當接受到請求體的數據,就累加到post變量中
    post += chunk;
  });
  req.on('end', function(){  //在end事件觸發后,通過querystring.parse將post解析為真正的POST請求格式,然后向客戶端返回。
    post = querystring.parse(post);
    res.end(util.inspect(post));
  });
}).listen(3000);

注意:不要在真正的生產應用中使用上面這種簡單的方法來獲取POST請求,因為它有嚴重的效率問題和安全問題,這只是一個幫你理解的示例。

知識擴展:util.inherits繼承

/*
 util.inherits
 定義了一個基礎對象Base和一個繼承自Base的Sub,Base有三個在構造函數內定義的屬性和一個原型中定義的函數,通過util.inherits實現繼承
 注意,Sub僅僅繼承了Base在原型中定義的函數,而構造函數內部創造的base屬性和sayHello函數都沒有被Sub繼承。
 */
var util = require('util');
function Base(){
  this.name = 'base';
  this.base = 1991;
  this.sayHello = function(){
    console.log('Hello ' + this.name);
  };
}
Base.prototype.showName = function(){
  console.log(this.name);
};
function Sub(){
  this.name = 'sub';
}
util.inherits(Sub, Base);
var objBase = new Base();
objBase.showName();
objBase.sayHello();
console.log(objBase);
var objSub = new Sub();
objSub.showName();
//objSub.sayHello();
console.log(objSub);

希望本文所述對大家nodejs程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒲江县| 邳州市| 柳河县| 凯里市| 察隅县| 新疆| 商河县| 靖宇县| 叶城县| 古蔺县| 建湖县| 华亭县| 白城市| 重庆市| 如东县| 潢川县| 武山县| 松溪县| 安仁县| 兴宁市| 通海县| 大渡口区| 昌江| 布尔津县| 行唐县| 改则县| 道孚县| 甘孜县| 来宾市| 分宜县| 喀喇| 九寨沟县| 綦江县| 乐业县| 彩票| 淮滨县| 呼伦贝尔市| 万盛区| 邵武市| 阿合奇县| 广德县|