Nodejs post的公式

admin發表於2017-05-04

先看HTML頁面的程式碼:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="http://127.0.0.1/dopost" method="post">
  <input type="text" name="name"><br><br>
  <input type="text" name="age"><br><br>
  性別:<br>
  <input type="radio" name="sex" value="男">男
  <input type="radio" name="sex" value="女">女<br><br>
  愛好:<br>
  <input type="checkbox" name="like" value="睡覺">睡覺
  <input type="checkbox" name="like" value="畫畫">畫畫
  <input type="checkbox" name="like" value="遊戲">遊戲<br><br>
  <input type="submit">
</form>
</body>
</html>

NODEJS公式如下:

[JavaScript] 純文字檢視 複製程式碼
var http = require('http');
var querystring = require('querystring');

var server = http.createServer(function(req, res) {
  //如果你的訪問地址是這個,並且請求型別是post
  if (req.url == '/dopost' && req.method.toLowerCase() == 'post') {
    var allData = '';
    //下面是post請求接收的一個公式
    //node為了追求極致,它是一個小段一個小段接收的。
    //接受了一小段,可能就給別人去服務了。防止一個過大的表單阻塞了整個程式
    req.addListener('data', function(chunk) {
      allData += chunk;
      console.log('資料:' + allData);
    });
    //全部傳輸完畢
    req.addListener('end', function() {
      var oData = allData.toString();
      var iDa = querystring.parse(oData);
      res.end('success');
      console.log(iDa);
      console.log(iDa.like);
      console.log(iDa.name);
      console.log(iDa.sex);
    });
  }
})
server.listen(80, '127.0.0.1');

相關文章