nodejs中,关于将接收到的数据处理为json格式用到的是 url 模块

主要用到是下面3个东东:

url.parse

 

url.pathname

url.query

我们看一个简单的例子:

先写一个form.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style> </style>
</head>
<body>
<form action="http://localhost:8080/regist" method="get">
<div>用户名:<input type="text" name="username"></div>
<div>密码:<input type="password" name="pwd"></div>
<div><input type="submit" name="" value="提交"></div>
</form>
</body>
</html>

再写一个处理数据的js,命名为form_server_url.js:

const http = require('http');
const urllib = require('url'); var server = http.createServer(function (req, res) {
var obj = urllib.parse(req.url, true); //设置 true 能将 obj.query 数据转换成json格式
var url = obj.pathname;
var GET = obj.query;
console.log(GET)
res.write('发送成功');
res.end();
}); server.listen(8080)

打开form.html,运行 form_server_url.js,在表单中输入数据,如下图:

可以看出返回如下结果:

如果你对urllib.parse(req.url,ture);里面的ture的作用无法理解,那么我们试着把它里面的ture去掉,此时返回的是什么结果呢?如下图:

所以加不加ture的区别,你应该知晓了哦~

总结:

1.引用 Nodejs 的url 模块;

2.通过  .parse(req.url,true); 将req.url里面的内容转成json格式 ;

3.通过 .query 获取到GET数据。

node学习笔记4——get数据传递的更多相关文章

  1. node学习笔记5——post数据传递

    上一篇有讲到get数据的传递.有了上一篇的了解,今天讲下如何获取到post传递过来的数据. 通过post传送的数据,在node里面主要是通过req.on('data',function (data) ...

  2. 微信小程序开发:学习笔记[9]——本地数据缓存

    微信小程序开发:学习笔记[9]——本地数据缓存 快速开始 说明 本地数据缓存是小程序存储在当前设备上硬盘上的数据,本地数据缓存有非常多的用途,我们可以利用本地数据缓存来存储用户在小程序上产生的操作,在 ...

  3. springmvc学习笔记(18)-json数据交互

    springmvc学习笔记(18)-json数据交互 标签: springmvc springmvc学习笔记18-json数据交互 springmvc进行json交互 环境准备 加入json转换的依赖 ...

  4. node学习笔记(二)(ajax方式向node后台提交数据)

    通过ajax向node后台提交数据过程(附手写前后台代码),并总结post与get的区别 POST 前台代码 //CSS简单给点样式 <style> form{ width: 200px; ...

  5. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  6. MyCat 学习笔记 第九篇.数据分片 之 数值分布

    1 应用场景 Mycat 自带了多套数据分片的机制,其实根据数值分片也是比较简单,其实这个和数据取摸是类似的实现. 优.缺点同上一篇 2 环境说明 参考  <MyCat 学习笔记>第六篇. ...

  7. 《C#并发编程经典实例》学习笔记—3.1 数据的并行处理

    问题 有一批数据,需要对每个元素进行相同的操作.该操作是计算密集型的,需要耗费一定的时间. 解决方案 常见的操作可以粗略分为 计算密集型操作 和 IO密集型操作.计算密集型操作主要是依赖于CPU计算, ...

  8. 再谈MFC学习——模态对话框的数据传递

    学习c++的目的就是为了使用封装好的类.而最最经典的封装类当然是微软的MFC窗体程序类. 学习MFC编程之前要学习c++的主要知识,掌握c++的基本编程思想. 以下就看下我学习的MFC模态对话框的数据 ...

  9. IOS 学习笔记 2015-04-15 控制器数据反向传值

    // // FirstViewController.h // 控制器数据传递 // // Created by wangtouwang on 15/4/15. // Copyright (c) 201 ...

随机推荐

  1. metaspolit 命令大全

    一.msfconsole相关命令 二.database 三.autopwn自动化攻击工具 四.metaspolit常见渗透命令大全

  2. 如何更新 Visual Studio 2017 的离线安装包

    现在 Visual Studio 2017 已经不再使用原来的 iso 镜像提供离线安装包了,需要的话,可以通过命令行参数下载离线安装包,例如: vs_Enterprise.exe --layout ...

  3. HDU 1019 Least Common Multiple 数学题解

    求一组数据的最小公倍数. 先求公约数在求公倍数.利用公倍数,连续求全部数的公倍数就能够了. #include <stdio.h> int GCD(int a, int b) { retur ...

  4. Eclipse工程文件夹 红叹号

    问题产生: 重装系统后,换了个新版本的Eclipse,但是,使用以前的工程目录(工程目录重命名了)后,发现,一些工程上显示红叹号,仔细查看里面的代码,也没有错误 问题原因: 经过查看,是工程中,使用的 ...

  5. 每日英语:Surviving a Conference Call

    The conference call is one of the most familiar rituals of office life -- and one of the most hated. ...

  6. MSSQL 的Top 和 MAX 效率测试

    环境: MSSQL 2008, 都在没有使用缓存的情况下面执行 表中有8W 条记录 分类1有134条记录 分别测试了3个语句 -- A select 字段1 from 表1 WHERE Ftype=' ...

  7. linux centOS6 nexus 开启自动启动

    sudo ln -s /opt/nexus-2.6.4/nexus-2.6.4-02/bin/nexus /etc/init.d/nexus 使用  service nexus status/star ...

  8. Windows下使用MINGW编译ffplay

    之前考虑到需要快速配置编译ffplay,使用了比较暴力的方法,具体可以参考编译ffplay.exe简化版. 这里介绍下相对规范的做法. 前提:已经安装了Windows下GCC开发环境--MINGW+m ...

  9. std::bind()图解

    参考:http://blog.think-async.com/2010/04/bind-illustrated.html 避免链接失效,就把文中图转过来了,这几张就清楚的说明了bind的用法和原理.

  10. 数据挖掘算法之-关联规则挖掘(Association Rule)

    在数据挖掘的知识模式中,关联规则模式是比较重要的一种.关联规则的概念由Agrawal.Imielinski.Swami 提出,是数据中一种简单但很实用的规则.关联规则模式属于描述型模式,发现关联规则的 ...