Node.js基础get post请求

来源:互联网 发布:java sftp 上传文件夹 编辑:程序博客网 时间:2024/09/21 09:23

1.req.url返回的是什么:

var http = require('http');var server = http.createServer(function (req, res){console.log(req.url);});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');
当访问http://127.0.0.1:8080/a?name=zhao&age=20&sex=malereq.url返回的是红色字体部分。

2.url.parse()返回的是什么:

var http = require('http');var url = require("url");var server = http.createServer(function (req, res){var str = 'http://127.0.0.1:8080/a?name=zhao&age=20&sex=male'var str1 = url.parse(str);console.log(str1);});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');
url.parse()的返回结果是Url对象:

Url {
  protocol: 'http:',
  slashes: true,
  auth: null,
  host: '127.0.0.1:8080',
  port: '8080',
  hostname: '127.0.0.1',
  hash: null,
  search: '?name=zhao&age=20&sex=male',
  query: 'name=zhao&age=20&sex=male',
  pathname: '/a',
  path: '/a?name=zhao&age=20&sex=male',
  href: 'http://127.0.0.1:8080/a?name=zhao&age=20&sex=male' }

3.

var http = require('http');var url = require("url");var querystring = require('querystring');var server = http.createServer(function (req, res){console.log(req.url);var query = url.parse(req.url).query;console.log(query);var query1 = querystring.parse(query);console.log(query1);});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');
req.url  :  /a?name=zhao&age=20&sex=male

query : name=zhao&age=20&sex=male

query1: { name: 'zhao', age: '20', sex: 'male' }

querystring.parse()是将字符串解析成对象

url.parse()的第二个参数如果为 true,则 query 属性总会通过 querystring 模块的 parse() 方法生成一个对象。 如果为 false,则返回的 URL 对象上的 query 属性会是一个未解析、未解码的字符串。 默认为 false。

var http = require('http');var url = require("url");var querystring = require('querystring');var server = http.createServer(function (req, res){console.log(req.url);var query = url.parse(req.url,true).query;console.log(query);//{ name: 'zhao', age: '20', sex: 'male' }});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');

post请求:

<!DOCTYPE html><html><head><meta charset="utf-8" /><title></title></head><body>         <form action="http://127.0.0.1:8080" method="post">         <p>         姓名:<input type="text" name="name" />         </p>         <p>         年龄:<input type="text" name="age"  />         </p>         <p>         性别:<input type="radio" name="sex"  value="男" checked="checked" />男             <input type="radio" name="sex"  value="女" />女         </p>         <input type="submit" value="提交"/>         </form></body></html>

var http = require('http');var querystring = require("querystring");var server = http.createServer(function(req, res){var result = "";//面对post提交,node.js用监听的方法处理//data是一个事件,表示一个小包传输完毕做的事情req.on("data",function(chunk){console.log("小包传输完毕");result += chunk;});//end也是一个事件,表示所有的表传输完毕req.on("end",function(){console.log(result.toString());console.log(querystring.parse(result));})});server.listen(8080, '127.0.0.1');console.log('Server running on port 8080.');