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)的更多相关文章

  1. JavaWeb学习日记----表单提交方式

    1.表单提交方式 (1) 使用input控件中的submit提交 代码如下: <!DOCTYPE html> <html lang="en"> <he ...

  2. nodejs formidable混合表单提交

    废话不多说,直接上代码: 前端页面: <!DOCTYPE html><html><head><link rel=’stylesheet’ href=’/sty ...

  3. 关于form表单提交ajaxForm和ajaxSubmit的用法与区别

    前几天在学习form表单提交时看到这两种方法,这两种方法都是实现form的ajax提交的方法,看了很多资料还是不太明白其用法和区别,最后直接自己写demo,很快就理解,所以说实操是学习的最快捷直接的途 ...

  4. php课程 4-15 数组遍历、超全局数组、表单提交数据(多看学习视频)

    php课程 4-15  数组遍历.超全局数组.表单提交数据(多看学习视频) 一.总结 一句话总结:超全局数组特别有用,比如$_SERVER可以获取所有的客户端访问服务器的情况. 1.数组遍历三种方式( ...

  5. [学习笔记]--Jfinal 表单提交附件

    近期.项目里面用到了Jfinal 里面的上传附件. Jfinal 的Controller 里面提供了一个 getFile系列方法提供文件上传. 我这里呢,是文件上传和表单參数一起提交. 页面类似下图: ...

  6. 20151223jquery学习笔记--Ajax表单提交

    传统的表单提交, 需要多次跳转页面, 极大的消耗资源也缺乏良好的用户体验. 而这款form.js 表单的 Ajax 提交插件将解决这个问题.一. 核心方法官方网站: http://malsup.com ...

  7. Javascript高级编程学习笔记(74)—— 表单(2)表单提交及重置

    表单提交 表单的很大一部分作用就是帮助用户完成和服务器的交互 所以表单提交是表单中比较重要的部分 虽然现如今的大部分应用场景都使用 AJAX 的异步请求来代替表单,但是仍有部分操作需要使用表单来完成, ...

  8. golang-web框架revel一个表单提交的总结

    这里要介绍好是revel框架的表单post提交的列子,主要是用于入门学习,和一些知识点的讲解: 首先: 来了解一个问题那就是重复提交表单,做过form表单提交的同学都知道,如果表单提交后不做处理,那么 ...

  9. [转]django自定义表单提交

    原文网址:http://www.cnblogs.com/retop/p/4677148.html 注:本人使用的Django1.8.3版本进行测试 除了使用Django内置表单,有时往往我们需要自定义 ...

随机推荐

  1. Points on cycle

    Description There is a cycle with its center on the origin. Now give you a point on the cycle, you a ...

  2. 【使用git】初识git

    0. 版本控制 版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修改情况的系统(vcs). svn等是集中式版本控制,即服务器在单一机器上,每次checkout变化的文件,若机器故障,则有可能 ...

  3. 混合硬盘的U310重装系统

    最早接触U310 是在半年前,那时候同学在用的就是U310,需要升级Windows 8 依照以往的经验,弄了一张Windows 8的启动U盘,当在选择磁盘的时候居然发现没有可选项!这个有点出乎意料…… ...

  4. 作死遇到的坑--view向下偏移

    好大一个坑.--谈谈view偏移问题: 先上张图, 图中白色部分.上面的是从网上找的资源.将导航栏隐藏之后用collectionView加上去而实现的滑动标签功能.开始以为是代码中的问题.然后仔细推敲 ...

  5. Spring MVC静态资源处理(在applicationContex.xml文件中进行配置)

    优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往 ...

  6. ASP.NET MVC学习之过滤器篇(1)

    一.前言 继前面四篇ASP.NET MVC的随笔,我们继续向下学习.上一节我们学习了关于控制器的使用,本节我们将要学习如何使用过滤器控制用户访问页面. 二.正文 以下的示例建立在ASP.NET MVC ...

  7. 在sqlServer中把数据导出为insert脚本

    有时候为了把数据导出为insert脚本,不得不用一些小工具,或者通过自己写存储过程来完成这一操作.其实SqlServer本身就有这种功能.以下是详细步骤:

  8. 客户端缓存 HTML + 远程数据 JS 的思路。

    移动客户端,采用客户端集成 WebBrowser 的方式 ,加载远程网页的优化方案. 1. 远程 HTML版本 v1.2 一次性加载到客户端 2. 手机端打开时,检测HTML版本. 如果有新版,先更新 ...

  9. Javascript 异步加载详解(转)

    本文总结一下浏览器在 javascript 的加载方式. 关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属 ...

  10. 作业六—图书管理系统(SPEC)系统性能评估测试

    一.图书管理系统的典型用户和场景: 该系统是为各类学校图书馆和社会各大图书馆和书店管理者使用的图书管理系统.但是我们还是已北京工业大学耿丹学院图书馆为典型用户进行主要设计的! 二.SPEC测试的目标: ...