歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> node.js 接收post請求

node.js 接收post請求

日期:2017/3/1 10:33:52   编辑:Linux編程

使用data和end事件來獲取post數據,

相關閱讀:http://www.linuxidc.com/Linux/2012-02/53535.htm 與 http://www.linuxidc.com/Linux/2012-02/53536.htm

代碼如下:

[javascript]

  1. var http = require('http');
  2. var server = http.createServer();
  3. var querystring = require('querystring');
  4. var firstPage = function(res){
  5. res.writeHead(200, {'Content-Type': 'text/html'});
  6. var html = '<html><body>'+
  7. '<form action="/login" method="post">'+
  8. 'name:<input type="text" name="name"> </br>'+
  9. 'password:<input type="password" name="pwd"></br>'+
  10. '<input type="submit" value="login">'+
  11. '</form>'+
  12. '</body></html>';
  13. res.end(html);
  14. }
  15. var login = function(req, res) {
  16. var info ='';
  17. req.addListener('data', function(chunk){
  18. info += chunk;
  19. })
  20. .addListener('end', function(){
  21. info = querystring.parse(info);
  22. if(info.name == 'a' && info.pwd =='1'){
  23. res.end('login success ' + info.name);
  24. }else{
  25. res.end('login failed ' + info.name);
  26. }
  27. })
  28. }
  29. var requestFunction = function (req, res){
  30. if(req.url == '/'){
  31. return firstPage(res);
  32. }
  33. if(req.url == '/login'){
  34. if (req.method != 'POST'){
  35. return;
  36. }
  37. return login(req, res)
  38. }
  39. }
  40. server.on('request',requestFunction);
  41. server.listen(1337, "127.0.0.1");
  42. console.log('Server running at http://127.0.0.1:1337/');

以上代碼實現了一個登錄驗證用戶,將以上代碼保存到 example4.js

cmd鍵入 node example4.js


浏覽器地址欄鍵入 http://127.0.0.1:1337/


如果輸入name:a password:1 點擊login



如果輸入name:a password:2 點擊login



該例子 from使用的是默認的application/x-www-form-urlencoded.

Copyright © Linux教程網 All Rights Reserved