node.js学习(02):http和url

1、http搭建服务器
代码块详解

var http = require('http'); //引入http模块
http.createServer(function(request, response) { 
	//createServer 创建一个服务
    //request表示获取从客户端传过来的信息  
    //respose表示给浏览器返回后信息
    //request 到 respose就是一个接受信息到返回信息的过程
    response.write("<head><meta charset='UTF-8'></head>");
    //我们通过writeHead设置的返回字符集的格式虽然是utf8但是
    //并没有在html中写入,为了避免乱码,我们在返回的html文件中
    //插入这样一行代码
    response.writeHead(200, { 'Content-Type': 'text/plain' });
    //设置响应头 响应头就是告诉浏览器自己要返回什么样的数据
    response.end('Hello World');
    //表示给我们页面上输出一句话并且结束响应,结束响应
    //未调用会进入假死状态
}).listen(8082); //表示这个网络服务挂载的端口号

console.log('Server running at http://127.0.0.1:8082/');

2、url传递参数

const url = require('url');
var api = 'http://www.itying.com?name=张三&age=20';
console.log(url.parse(api, true));
//这里的parse后面的true的作用是将url?后面的参数转化为对象
var temp = url.parse(api, true).query;
console.log(`姓名:${temp.name}---年龄:${temp.age}`);
//这里使用的是es6的模板字符串

3、两者搭配使用

const http = require('http');
const url = require('url');
var api = '127.0.0.1:3000?name=张三&age=20';
http.createServer(function(request, response) {
    response.writeHead(200, { 'Content-Type': 'text/plain' });
    if (request.url !== '/favicon.ico') {
        var api = request.url;
        console.log(api); //1
        var apiParse = url.parse(api, true);
        console.log(apiParse); //2
        console.log(apiParse.query); //3
        var apiQuery = apiParse.query;
        console.log(`4: ${apiQuery.name}`); //4
    }
    response.end('Hello World');
}).listen(3000);
console.log('Server running at http://127.0.0.1:3000/');

解释一下这里的1 2 3 4


//1 这里的%E5%BC%A0%E4%B8%89是经过加密了
/?name=%E5%BC%A0%E4%B8%89&age=20

//2
Url {
  protocol: null,
  slashes: null,
  auth: null,
  host: null,
  port: null,
  hostname: null,
  hash: null,
  search: '?name=%E5%BC%A0%E4%B8%89&age=20',
  query: [Object: null prototype] { name: '张三', age: '20' },
  pathname: '/',
  path: '/?name=%E5%BC%A0%E4%B8%89&age=20',
  href: '/?name=%E5%BC%A0%E
 //3
 [Object: null prototype] { name: '张三', age: '20' }
 //4
 sssss: 张三

4、两者搭配使用的一个过程

获取url  解析parse 获取参数集对象query 获取具体参数.name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值