二十二、Node.js-get&post
get:
前台代码:
<body>
<h1>登录</h1>
<form action="/dologin" method="get">
账号<input type="text" name="username">
密码<input type="text" name="password">
<input type="submit" value="登录">
</form>
</body>
参数传递通过URL传值:
点击登录之后:
后台获取数据代码:
var http = require("http")
var url = require("url")
var ejs = require('ejs')
http.createServer(function (req, res) {
res.writeHead(200, {"Content-Type": "text/html;charset='utf-8'"})
var allUrl = req.url;
var parseUrl = url.parse(allUrl,true);
var path = parseUrl.pathname;
if (path == "/login") {//显示登录页面
ejs.renderFile("views/loginPage.ejs",{},function (err,data) {
res.end(data)
})
} else if (path == "/dologin") {//执行登录操作
//后台获取前台get传值数据
console.log(parseUrl.query);//{ username: '111', password: '222' }
res.end("dologin")
} else {//显示index页面
ejs.renderFile("views/index.ejs",{},function (err,data) {
res.end(data)
})
}
}).listen(8000)
post:
前台代码:
<h1>登录</h1>
<form action="/dologin" method="post">
账号<input type="text" name="username">
密码<input type="text" name="password">
<input type="submit" value="登录">
</form>
点击登录之后url里面没有传值:而是在头文件里面传值
后台获取数据代码:
var http = require("http")
var url = require("url")
var ejs = require('ejs')
http.createServer(function (req, res) {
res.writeHead(200, {"Content-Type": "text/html;charset='utf-8'"})
var allUrl = req.url;
var parseUrl = url.parse(allUrl,true);
var path = parseUrl.pathname;
//获取前台的传值方式get还是post
var method=req.method.toLowerCase();
console.log(method);
if (path == "/login") {//显示登录页面
ejs.renderFile("views/loginPage.ejs",{},function (err,data) {
res.end(data)
})
} else if (path == "/dologin"&&method=='get') {//执行登录操作
//后台获取前台get传值数据
console.log(parseUrl.query);//{ username: '111', password: '222' }
res.end("dologin")
} else if (path == "/dologin"&&method=='post') {//执行登录操作
//后台获取前台post传值数据
var postStr='';
req.on("data",function (chunk) {//注意这里回调函数只写一个参数
postStr+=chunk;
})
req.on("end",function (err,chunk) {
console.log(postStr);//username=111&password=222
//后台向前台输出js逻辑:
res.end("<script>alert('登录成功!');history.back()</script>")
})
} else {//显示index页面
ejs.renderFile("views/index.ejs",{},function (err,data) {
res.end(data)
})
}
}).listen(8000)
二十二、Node.js-get&post的更多相关文章
- Bootstrap入门(二十九)JS插件6:弹出框
Bootstrap入门(二十九)JS插件6:弹出框 加入小覆盖的内容,像在iPad上,用于存放非主要信息 弹出框是依赖于工具提示插件的,那它也和工具提示是一样的,是需要初始化才能够使用的 首先我们引入 ...
- Bootstrap入门(二十八)JS插件5:工具提醒
Bootstrap入门(二十八)JS插件5:工具提醒 工具提示在使用过程中比较常见,但是实现起来有些麻烦,而bootstrap则很好地解决了这个问题. 我们来写一个简单的实例 先引入CSS文件和JS文 ...
- Bootstrap入门(二十五)JS插件2:过渡效果
Bootstrap入门(二十五)JS插件2:过渡效果 对于简单的过渡效果,只需将 transition.js 和其它 JS 文件一起引入即可.如果你使用的是编译(或压缩)版的bootstrap.js ...
- Web 前端开发精华文章推荐(HTML5、CSS3、jQuery)【系列二十二】
<Web 前端开发精华文章推荐>2014年第一期(总第二十二期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML ...
- Bootstrap <基础二十二>超大屏幕(Jumbotron)
Bootstrap 支持的另一个特性,超大屏幕(Jumbotron).顾名思义该组件可以增加标题的大小,并为登陆页面内容添加更多的外边距(margin).使用超大屏幕(Jumbotron)的步骤如下: ...
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇]
原文:WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[中篇] 在[上篇]中,我们分别站在消息交换和编程的角度介绍了SOAP Fault和FaultException异常.在服务执行过 ...
- 微信小程序把玩(二十二)action-sheet组件
原文:微信小程序把玩(二十二)action-sheet组件 action-sheet组件是从底部弹出可选菜单项,估计也是借鉴IOS的设计添加的,action-sheet有两个子组件, action-s ...
- [分享] IT天空的二十二条军规
Una 发表于 2014-9-19 20:25:06 https://www.itsk.com/thread-335975-1-1.html IT天空的二十二条军规 第一条.你不是什么都会,也不是什么 ...
- 二十二、OGNL的一些其他操作
二十二.OGNL的一些其他操作 投影 ?判断满足条件 动作类代码: ^ $ public class Demo2Action extends ActionSupport { public ...
- VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池
VMware vSphere 服务器虚拟化之二十二桌面虚拟化之创建View Composer链接克隆的虚拟桌面池 在上一节我们创建了完整克隆的自动专有桌面池,在创建过程比较缓慢,这次我们将学习创建Vi ...
随机推荐
- 搭建Git Server - Centos+Gitosis
参考并部分转载自:http://www.pfeng.org/archives/757 1. 安装依赖 yum -y install curl-devel expat-devel gettext-dev ...
- 网络编程-socket开发
练习: 1.什么是C/S架构? 2.互联网协议是什么?分别介绍五层协议中每一层的功能? 3.基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手 4.为何基于tcp协议的通信比基于u ...
- (转) Linux下配置nfs并远程挂载
nfs是网络文件系统,允许一个节点通过网络访问远程计算机的文件系统,远程文件系统可以被直接挂载到本地,文件操作和本地没有区别,如果是局域网的nfs那么io的性能也可以保证,下面就以CentOS 7.x ...
- Phong Shading
[Phong Shading] The most serious problem with Gouraud shading occurs when specular highlights are fo ...
- Spark之 使用SparkSql操作mysql和DataFrame的Scala实现
通过读取文件转换成DataFrame数据写入到mysql中 package com.zy.sparksql import java.util.Properties import org.apache. ...
- css实现文本过长时自动添加省略号
1. 效果 2. Html <div id="main_app_content" class="container"> <div class= ...
- 日志管理,springboot
1.市面上的日志框架:JUL.JCL.Jboss-logging.logback.log4j.log4j2.slf4j.... 2. 日志门面: SLF4J:日志实现:Logback:SpringBo ...
- python处理Excel 之 xlrd-乾颐堂
python处理Excel常用到的模块是xlrd.使用xlrd可以非常方便的处理Excel文档,下面介绍一下基本用法 1.打开文件 import xlrd data= xlrd.open_workbo ...
- [Excel]鼠标右键菜单没有新建Word、Excel、PPT怎么办?
很多朋友在安装好Office(2010或2013等)之后,发现右键新建中没有Word.Excel.PowerPoint等项,但是自己的Office却明明安装好了.这个时候该怎么办呢?这里,本文为大家提 ...
- [Training Video - 6] [File Reading] [Java] Read Excel File Using Apache POI API
读取以下两种格式的Excel : *.xls and *.xlsx 用Apache POI API来实现,需要用到 HSSF 和 XSSF 的类库 HSSF is the POI Project's ...