nodejs学习之表单提交(1)
nodejs作为一门后端语言,接触的最多的是它的框架,但是它本身的api我觉得更是非学不可,所有才有了这篇文章
表单提交是最基本的也是最实用的入门实例
HTML:
<!DOCTYPE html>
<html>
<head>
<title>main</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div id="div1" style="width: 350px;">
<form id="form1" method="post" action="postlogin" >
<fieldset>
<legend>表单1</legend>
姓名:<input type="text" name="username" /><br />
学历:<select name="education">
<option value="中学">中学</option>
<option value="大专">大专</option>
<option value="本科">本科</option>
<option value="硕士">硕士</option>
<option value="博士">博士</option>
</select><br />
住址:<input type="text" name="address" />
隐藏:<input name="hide" disabled="disabled" value="111" />
<input type="submit" value="提交" />
</fieldset>
</form>
</div>
</body>
</html>
server端:
var httpserver = require("http");
var qs = require("querystring");
var url = require("url");
var fs = require("fs");
httpserver.createServer(onRequest).listen(3000);
function onRequest(request,response)
{
var pathname = url.parse(request.url).pathname;
if(pathname=="/") //访问表单页面
{
response.writeHead(200,{"Content-Type":"text/html"});
fs.readFile("index.html","utf-8",function(e,data){
response.write(data);
response.end();
});
}
else if(pathname=="/postlogin") //处理post方式请求
{
var urlstr="";
request.addListener("data",function(postdata){
urlstr+=postdata; //接收到的表单数据字符串,这里可以用两种方法将UTF-8编码转换为中文
var jsondata = qs.parse(urlstr); //转换成json对象
var decodedata = decodeURIComponent(urlstr); //对表单数据进行解码
console.log(urlstr);
console.log(jsondata);
console.log(decodedata);
urlstr = decodedata;
});
request.addListener("end",function(){
response.writeHead(200,{"Content-Type":"text/plain; charset=utf-8"});
response.write(urlstr);
response.end();
});
}
else if(pathname=="/getlogin") //处理get方式请求
{
var urlstr = url.parse(request.url).query;
var jsondata = qs.parse(urlstr);
var decodedata = decodeURIComponent(urlstr);
console.log(urlstr);
console.log(jsondata);
console.log(decodedata);
urlstr = decodedata;
response.writeHead(200,{"Content-Type":"text/plain; charset=utf-8"});
response.write(urlstr);
response.end();
}
else
{
response.writeHead(200,{"Content-Type":"text/plain"});
response.write("error");
response.end();
}
}
知识点:
1.node创建一个简单的服务器
2.fs读取文件模块
3.url模块
4.解析url的querystring模块
有兴趣的可以参看api这里就不一一细说了
nodejs学习之表单提交(1)的更多相关文章
- JavaWeb学习日记----表单提交方式
1.表单提交方式 (1) 使用input控件中的submit提交 代码如下: <!DOCTYPE html> <html lang="en"> <he ...
- nodejs formidable混合表单提交
废话不多说,直接上代码: 前端页面: <!DOCTYPE html><html><head><link rel=’stylesheet’ href=’/sty ...
- 关于form表单提交ajaxForm和ajaxSubmit的用法与区别
前几天在学习form表单提交时看到这两种方法,这两种方法都是实现form的ajax提交的方法,看了很多资料还是不太明白其用法和区别,最后直接自己写demo,很快就理解,所以说实操是学习的最快捷直接的途 ...
- php课程 4-15 数组遍历、超全局数组、表单提交数据(多看学习视频)
php课程 4-15 数组遍历.超全局数组.表单提交数据(多看学习视频) 一.总结 一句话总结:超全局数组特别有用,比如$_SERVER可以获取所有的客户端访问服务器的情况. 1.数组遍历三种方式( ...
- [学习笔记]--Jfinal 表单提交附件
近期.项目里面用到了Jfinal 里面的上传附件. Jfinal 的Controller 里面提供了一个 getFile系列方法提供文件上传. 我这里呢,是文件上传和表单參数一起提交. 页面类似下图: ...
- 20151223jquery学习笔记--Ajax表单提交
传统的表单提交, 需要多次跳转页面, 极大的消耗资源也缺乏良好的用户体验. 而这款form.js 表单的 Ajax 提交插件将解决这个问题.一. 核心方法官方网站: http://malsup.com ...
- Javascript高级编程学习笔记(74)—— 表单(2)表单提交及重置
表单提交 表单的很大一部分作用就是帮助用户完成和服务器的交互 所以表单提交是表单中比较重要的部分 虽然现如今的大部分应用场景都使用 AJAX 的异步请求来代替表单,但是仍有部分操作需要使用表单来完成, ...
- golang-web框架revel一个表单提交的总结
这里要介绍好是revel框架的表单post提交的列子,主要是用于入门学习,和一些知识点的讲解: 首先: 来了解一个问题那就是重复提交表单,做过form表单提交的同学都知道,如果表单提交后不做处理,那么 ...
- [转]django自定义表单提交
原文网址:http://www.cnblogs.com/retop/p/4677148.html 注:本人使用的Django1.8.3版本进行测试 除了使用Django内置表单,有时往往我们需要自定义 ...
随机推荐
- phpcms v9编辑器ckeditor设置回车换行br为段落p标签
phpcms v9和dedecms自带的编辑器都是使用的ckeditor,在默认情况下使用ckeditor编辑内容时,按下回车键后在源代码显示的是<br>而非<p>标签,对于习 ...
- LeetCode OJ--Swap Nodes in Pairs
https://oj.leetcode.com/problems/swap-nodes-in-pairs/ 链表的处理 /** * Definition for singly-linked list. ...
- yum 安装 phpmyadmin
1.安装apache yum -y install httpd httpd-devel 2.安装phpmyadmin yum -y -install phpmyadmin 3.配置phpmyadmin ...
- SQL多行转多列
--★转换结果如上图 1.首先创建表: CREATE TABLE [成绩表]( ,) NOT NULL, )NULL, , )NULL, , )NULL, , )NULL ) ON [PRIMARY] ...
- java 类的关系
在面向对象中,类与类之间的关系有泛化,依赖,关联,聚合,组合几种.其中,聚合和组合都属于关联.在具体编程中: 依赖表现为如果A类依赖于B,则B体现为A的局部变量,方法参数或静态方法的调用.eg:cla ...
- 说说ID选择符、类选择符和HTML标记选择符的优先级顺序
ID选择符.类选择符和HTML标记选择符三者之间的优先级顺序是:ID选择符>类选择符>HTML标记选择符,但是可以用!important提升优先权. 如: p{color:#f ...
- day4----生成器,迭代器
迭代器,生成器,装饰器 1.生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要 ...
- Common scenarios to avoid in OLTP
Database Design Rule Description Value Source Problem Description 1 High Frequency queries having a ...
- 15 个很棒的 Bootstrap UI 界面编辑器
Bootstrap Magic BootSwatchr Bootstrap Live Editor Fancy Boot Style Bootstrap Lavish Bootstrap ThemeR ...
- 设计模式之美:Structural Patterns(结构型模式)
结构型模式涉及到如何组合类和对象以获得更大的结构. 结构型类模式采用继承机制来组合接口实现. 结构型对象模式不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法. 因为 ...