node.js前后台交互示例 -- 使用node.js实现用户注册功能
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" />
用 户 名: <input type="text" name="name" placeholder="请输入用户名..." />
密  码: <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实现用户注册功能的更多相关文章
- 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互
[源码下载] 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互 作者: ...
- node.js 接口调用示例
测试用例git地址(node.js部分):https://github.com/wuyongxian20/node-api.git 项目架构如下: controllers: 文件夹下为接口文件 log ...
- 前端(Node.js)(3)-- Node.js实战项目开发:“技术问答”
1.Web 与 Node.js 相关技术介绍 1.1.Web应用的基本组件 web应用的三大部分 brower(GUI)<==>webserver(business logic.data ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- Edge.js:让.NET和Node.js代码比翼齐飞
通过Edge.js项目,你可以在一个进程中同时运行Node.js和.NET代码.在本文中,我将会论述这个项目背后的动机,并描述Edge.js提供的基本机制.随后将探讨一些Edge.js应用场景,它在这 ...
- io.js - 兼容 NPM 平台的 Node.js 新分支
io.js(JavaScript I/O)是兼容 NPM 平台的 Node.js 新分支,由 Node.js 的核心开发者在 Node.js 的基础上,引入更多的 ES6 特性,它的目的是提供更快的和 ...
- [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 ...
- 前后台交互经常使用的技术汇总(后台:Java技术,前台:Js或者Jquery)
1:由于针对特定的前后台交互用到的知识总结,所以不大量贴代码,主要给出思路,方便自己以后脑补和技术总结,当然也希望可以帮助到别人. 后台Json和其他格式转化,之前总结过Json和对象,集合,字符串的 ...
- [Node.js] 01 - How to learn node.js
基本概念 链接:https://www.zhihu.com/question/47244505/answer/105026648 链接:How to decide when to use Node.j ...
随机推荐
- python打印表格式数据,留出正确的空格和段落星号或注释
python打印表格式数据,留出正确的空格,格式化打出 代码如下: def printPicnic(itemsDict,leftWidth,rightWidth): print('PICNIC ITE ...
- 依赖ConstraintLayout报错,Could not find *****,Failed to resolve:*****
ConstraintLayout 约束布局,AndroidStudio2.2中新增功能之一,可以先去看看这篇文章 Android新特性介绍,ConstraintLayout完全解析,2.3版本的And ...
- jquery.vilidate的运用
vilidate是jquery的一个form表单验证插件非常实用 里面需要注意的就是remote的用法 /*验证*/$().ready(function() { $(".form_al ...
- jquery ajax标准写法
$.ajax({ url:url, //地址 type:'post', //请求方式 还可以是get type不可写成Type 不让会导致数据发送不过去,使用 ...
- 《Shell脚本学习指南》学习笔记之自定义函数
Shell的函数在使用之前必须先定义,定义格式: [ function ] funname [()] { action; [return int;] } 可以带function fun()定义,也可以 ...
- Jmeter+Badboy实战经验三 Jmeter关联相关知识
1. 什么时候需要使用关联? 有些参数是动态变化的,获取之后,再次操作的时候,参数的值已经发生了变化,这种情况下就会出现脚本不可运行的问题,就需要用到了关联 2. 关联是什么概念? 3.jmeter ...
- gulp自动化压缩合并、加版本号解决方案
虽然网上有很多的 gulp 构建文章,但是很多都已经随着 gulp 插件的更新无法运行了.因此,我写了这个比较简单的构建方案. 如果还不熟悉 gulp 的插件,可以阅读上一篇文章:精通gulp常用插件 ...
- 添加swagger api文档到node服务
swagger,一款api测试工具,详细介绍参考官网:http://swagger.io/ ,这里主要记录下怎么将swagger api应用到我们的node服务中: 1.任意新建node api项目, ...
- 重磅消息:微信小程序支持长按二维码进入
之前微信小程序一般通过以下入口进入: 而用户经常使用“长按二维码”识别应用的功能一直未开放,据酷客多了解,微信安卓6.5.6内测版已经支持长按二维码识别和进入小程序,意味着把小程序二维码分享给朋友,或 ...
- 《Machine Learning》系列学习笔记之第一周
<Machine Learning>系列学习笔记 第一周 第一部分 Introduction The definition of machine learning (1)older, in ...