node.js环境自行搭建,参考菜鸟教程的node.js就可以。

1 通过ajax提交index.html中form表单

register.html文件如下:

<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<title>Document</title>
<script src="jquery.js"></script>
<script src="ajax.js"></script>
<style>
form{padding: 100px;border: 1px solid red;width: 350px;margin: 0 auto;}
form input{display: block;margin: 0 auto;margin-bottom: 20px;}
</style>
</head>
<body>
<form id="register" action="" method="get">
<input type="hidden" name="action" value="register" />
用&ensp;户&ensp;名: <input type="text" name="name" placeholder="请输入用户名..." />
密&emsp;&emsp;码: <input type="password" name="pass" placeholder="请输入密码..." />
电子邮件:<input type="email" name="email" placeholder="请输入合法邮件名..." />
<input id="register-sub" type="submit" value="注册" />
</form>
</body>
</html>

ajax.js文件如下:

$(function(){
$('#register-sub').on('click',function(){
var info = $('form').serialize();
$.ajax({
type:"get",
url:"http://127.0.0.1:8081",
data:info,
success:function(response,status,xhr){
alert(response);
localStorage.name = $('input[name="name"]').val();
}
});
return false;
}); $('#login-sub').on('click',function(){
return false;
});
});

2 重点node.js后台:接收数据、写入数据库、给前台返回信息

首先创建服务器文件:server.js: res.writeHead();后边的那个是为了跨域访问

var http = require('http');
var url = require('url');
var util = require('util');
var mysql = require('./mysql');//这个是自己写的用来向数据库写入用户的文件 http.createServer(function(req,res){
res.writeHead(200,{"Content-Type":'text/plain','charset':'utf-8','Access-Control-Allow-Origin':'*','Access-Control-Allow-Methods':'PUT,POST,GET,DELETE,OPTIONS'});
//解析URL参数
var params = url.parse(req.url,true).query;
mysql.reg(params.action,params.name,params.pass,params.email);
res.write("注册成功");
res.end();
}).listen(8081);

其次mysql.js文件连接数据库:

exports.reg = function (action,name,pass,email){
var mysql = require('mysql'); var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
port: '3306',
database: 'test',
}); connection.connect(); var modSql = "insert into user (name,pass,email) values ('"+name+"','"+pass+"','"+email+"')"; connection.query(modSql,function (err, result) {
if(err){
console.log('[UPDATE ERROR] - ',err.message);
return;
}
});
connection.end();
}

这样其实一个注册功能就基本实现了,在浏览器中打开register.html,点击注册,会把数据提交到服务器(这里跨域了奥),再写入数据库,就实现了注册功能。

node.js前后台交互示例 -- 使用node.js实现用户注册功能的更多相关文章

  1. 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互

    [源码下载] 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互 作者: ...

  2. node.js 接口调用示例

    测试用例git地址(node.js部分):https://github.com/wuyongxian20/node-api.git 项目架构如下: controllers: 文件夹下为接口文件 log ...

  3. 前端(Node.js)(3)-- Node.js实战项目开发:“技术问答”

    1.Web 与 Node.js 相关技术介绍 1.1.Web应用的基本组件 web应用的三大部分 brower(GUI)<==>webserver(business logic.data ...

  4. node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法

    1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...

  5. Edge.js:让.NET和Node.js代码比翼齐飞

    通过Edge.js项目,你可以在一个进程中同时运行Node.js和.NET代码.在本文中,我将会论述这个项目背后的动机,并描述Edge.js提供的基本机制.随后将探讨一些Edge.js应用场景,它在这 ...

  6. io.js - 兼容 NPM 平台的 Node.js 新分支

    io.js(JavaScript I/O)是兼容 NPM 平台的 Node.js 新分支,由 Node.js 的核心开发者在 Node.js 的基础上,引入更多的 ES6 特性,它的目的是提供更快的和 ...

  7. [Whole Web, Node.js, PM2] Configuring PM2 for Node applications

    In this lesson, you will learn how to configure node apps using pm2 and a json config file. Let's sa ...

  8. 前后台交互经常使用的技术汇总(后台:Java技术,前台:Js或者Jquery)

    1:由于针对特定的前后台交互用到的知识总结,所以不大量贴代码,主要给出思路,方便自己以后脑补和技术总结,当然也希望可以帮助到别人. 后台Json和其他格式转化,之前总结过Json和对象,集合,字符串的 ...

  9. [Node.js] 01 - How to learn node.js

    基本概念 链接:https://www.zhihu.com/question/47244505/answer/105026648 链接:How to decide when to use Node.j ...

随机推荐

  1. 【Scala】Scala之Object

    一.前言 前面学习了Scala的Methods,接着学习Scala中的Object 二.Object Object在Scala有两种含义,在Java中,其代表一个类的实例,而在Scala中,其还是一个 ...

  2. 05String字符串课后作业

    1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? 由此可得出,用加号连接的字符串和一整个字符串相同代码判断是true,而新开辟空间的不 ...

  3. web计时机制——performance对象

    前面的话 页面性能一直都是Web开发人员最关注的领域.但在实际应用中,度量页面性能的指标,是提高代码复杂程度和巧妙地使用javascript的Date对象.Web Timing API改变了这个局面, ...

  4. html to pdf

    C++ Library to Convert HTML to PDF html2pdf PrinceXML 收费 CutePDF Ghostscript PDFDoc VisPDF PDFDoc Sc ...

  5. 队列工厂之(MSMQ)

    最近vs2017神器正式版发布让人很是激动,vs2017支持了很多语言的开发,从前端-后端-底层的支持,堪称是工具中的神器:netcore我喜爱的架构之一也得到了大力的宣传,应群友的邀请将在队列工厂( ...

  6. 消消乐、candy crush类三消游戏程序逻辑分析

    最近在开发一款类似消消乐的三消游戏,在碰到实现斜方向下落的时候卡住了很长时间.好几天没有思路,原本的思路是一次性预判多个宝石的一连串运动路径,运用缓动运动队列来实现宝石运动路径,例如 下落->滑 ...

  7. gitoschina使用入门

    1 下载git sudo apt-get install git 2 添加公钥:terminal:  ssh-keygen -t rsa -C "git.oschina.net" ...

  8. shiro权限控制

    1.1  简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...

  9. AQS阻塞唤醒工具LockSupport

    LockSupport在JDK源码中描述为:构建锁和其他同步类的基本线程阻塞原语,构建更高级别的同步工具集.LockSupport提供的park/unpark从线程的粒度上进行阻塞和唤醒,park/u ...

  10. SQL动态语句 拼接SQL 并输入输出值

    --动态语句语法 /****************************************************************************************** ...