欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nodejs之http的表單提交

 更新時(shí)間:2017年07月07日 11:09:25   作者:艾新覺羅  
這篇文章主要為大家詳細(xì)介紹了Nodejs之http的表單提交,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

之前介紹了http模塊的請(qǐng)求與響應(yīng)的過程,也介紹了TCP協(xié)議的客戶端與服務(wù)端的數(shù)據(jù)傳輸,http協(xié)議是TCP上層協(xié)議。這里創(chuàng)建了一個(gè)簡單的web服務(wù)器,并對(duì)提交表單數(shù)據(jù)進(jìn)行處理,根據(jù)了不起的Node.js一書總結(jié)。

POST方法提交表單數(shù)據(jù)

  之前也總結(jié)過,向服務(wù)器提交數(shù)據(jù)需要使用POST方法,GET方法的請(qǐng)求信息都在查詢字符串中,沒有請(qǐng)求體,而POST方法的傳輸?shù)臄?shù)據(jù)都在請(qǐng)求體中,故提交表單數(shù)據(jù)時(shí)需要使用POST方法。

  req是請(qǐng)求信息,req.url表示請(qǐng)求的地址,當(dāng)服務(wù)器運(yùn)行之后,req請(qǐng)求的網(wǎng)址為127.0.0.1:3000,此時(shí)req.url為‘/',則返回的是一串表單數(shù)據(jù),在表單數(shù)據(jù)中設(shè)置了method是post,action是‘/url',表面提交數(shù)據(jù)的方式是POST,將數(shù)據(jù)提交的地址為127.0.0.1:3000/url,而提交之后要獲取新的頁面即127.0.0.1:3000/url,此時(shí)req.url為‘/url',故顯示的另一個(gè)頁面。

 //提交表單數(shù)據(jù)
 var http=require('http');
 var querystring=require('querystring');
 
 var server=http.createServer(function (req,res) {
 //req.url不同則返回的頁面不同
 if('/'==req.url){
  res.writeHead(200,{'Content-Type':'text/html'});
  res.write([
  '<form method="post" action="/url">',
  '<h1>My Form</h1>',
  '<fieldset>',
  '<label>Personal Information</label>',
  '<p>What is your name?</p>',
  '<input type="text" name="name">',
  '<button>submit</button>',
  '</form>'
  ].join(''));
  res.end();
 }else if('/url'==req.url&&req.method=='POST'){
  var reqBody='';
  req.on('data',function (data) {
  reqBody += data;
  });
  req.on('end',function () {//用于數(shù)據(jù)接收完成后再獲取
  res.writeHead(200,{'Content-Type':'text/html'});
  res.write('you have sent a '+req.method+' request\n');
  res.write('<p>Content-Type:'+req.headers['content-type']+'</p>'
   +'<p>Data:your name is '+querystring.parse(reqBody).name+'</p>');
  res.end();
  })
 }else{
  res.writeHead(404);
  res.write('Not Found');
  res.end();
 }
 }).listen(3000,function () {
 console.log('server is listening 3000');
 });

  提交之后,需要獲取請(qǐng)求信息的請(qǐng)求體,因?yàn)镻OST方法中信息都在請(qǐng)求體中,用req綁定data事件獲取數(shù)據(jù),這里需要注意的是必須得在數(shù)據(jù)接收完成后再對(duì)數(shù)據(jù)進(jìn)行操作,即必須綁定end事件監(jiān)聽請(qǐng)求信息是否傳輸完成。

  querystring是查詢字符串模塊,用于對(duì)查詢字符串的解析,parse方法將查詢字符串解析成一個(gè)對(duì)象。在git中運(yùn)行服務(wù)器,得到頁面是這樣的:


提交數(shù)據(jù)后:

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • npm?install安裝過程報(bào)錯(cuò)的實(shí)用解決辦法

    npm?install安裝過程報(bào)錯(cuò)的實(shí)用解決辦法

    最近做項(xiàng)目遇到npm install 的問題,下面這篇文章主要給大家介紹了關(guān)于npm?install安裝過程報(bào)錯(cuò)的實(shí)用解決辦法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • nodemon實(shí)現(xiàn)Typescript項(xiàng)目熱更新的示例代碼

    nodemon實(shí)現(xiàn)Typescript項(xiàng)目熱更新的示例代碼

    這篇文章主要介紹了nodemon實(shí)現(xiàn)Typescript項(xiàng)目熱更新的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Node.js中常用設(shè)計(jì)模式的使用方法總結(jié)

    Node.js中常用設(shè)計(jì)模式的使用方法總結(jié)

    設(shè)計(jì)模式是由經(jīng)驗(yàn)豐富的程序員在日積月累中抽象出的用以解決通用問題的可復(fù)用解決方案,它提供了標(biāo)準(zhǔn)化的代碼設(shè)計(jì)方案提升開發(fā)體驗(yàn),本文主要來和大家討論一下Node.js中設(shè)計(jì)模式的重要性并提供一些代碼示例,感興趣的可以了解下
    2023-10-10
  • nodejs處理tcp連接的核心流程

    nodejs處理tcp連接的核心流程

    這篇文章主要介紹了nodejs處理tcp連接的核心流程,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • node.js 和HTML5開發(fā)本地桌面應(yīng)用程序

    node.js 和HTML5開發(fā)本地桌面應(yīng)用程序

    這篇文章主要介紹了node.js 和HTML5開發(fā)本地桌面應(yīng)用程序的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • Nodejs中調(diào)用系統(tǒng)命令、Shell腳本和Python腳本的方法和實(shí)例

    Nodejs中調(diào)用系統(tǒng)命令、Shell腳本和Python腳本的方法和實(shí)例

    這篇文章主要介紹了Nodejs中調(diào)用系統(tǒng)命令、Shell腳本和Python腳本的方法和實(shí)例,本文給出了利用子進(jìn)程調(diào)用系統(tǒng)命令、執(zhí)行系統(tǒng)命令、調(diào)用傳參數(shù)的shell腳本、調(diào)用python腳本的例子,需要的朋友可以參考下
    2015-01-01
  • 三種Node.js寫文件的方式

    三種Node.js寫文件的方式

    這篇文章主要為大家詳細(xì)介紹了三種Node.js寫文件的方式,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 手把手教你更優(yōu)雅的修改node_modules里的代碼

    手把手教你更優(yōu)雅的修改node_modules里的代碼

    這篇文章主要給大家介紹了關(guān)于如何更優(yōu)雅的修改node_modules里的代碼的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-02-02
  • 詳解node.js平臺(tái)下Express的session與cookie模塊包的配置

    詳解node.js平臺(tái)下Express的session與cookie模塊包的配置

    本篇文章主要介紹了詳解node.js平臺(tái)下Express的session與cookie模塊包的配置,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-04-04
  • 究竟什么是Node.js?Node.js有什么好處?

    究竟什么是Node.js?Node.js有什么好處?

    這篇文章主要介紹了究竟什么是Node.js?Node.js有什么好處?,為試圖解釋什么是 Node.js,本文將簡要介紹一些背景信息:它要解決的問題,它如何工作,如何運(yùn)行一個(gè)簡單應(yīng)用程序,最后,Node 在什么情況下是一個(gè)好的解決方案,需要的朋友可以參考下
    2015-05-05

最新評(píng)論