最近实现了Node.js当作后台,jQuery写前台AJAX代码的,实现用户登录和注册的功能,刷新了前后端交互的三观。特记录一下。

1.login.ejs实现form框架

  • 用户名

  • 密码

form不加method,意图自己用ajax发送请求。

2.js实现request的发送

$("#login_submit").click(function(){

var username=$('#username').val();

var password=$('#password').val();

//这里实现对 username和password格式的判断

//........

//发送ajax请求 使用post方式发送json字符串给后台login

$.ajax({

type: "post",

url: "http://localhost:3000/login",

dataType: "json",

data:{ username: username, password: password },

success: function(data){

//接受返回的数据,前端判断采取的动作

if(data){

if(data.message=="false"){

alert('密码错误,请重新输入');

window.location.href="login";

}else{

alert('登陆成功');

window.location.href="index";

}

} else{

}

}

});

});

2.后台接收

/**

* 注册页 post

*/

router.post('/reg', function (req, res, next) {

//先查询有没有这个user

console.log("req.body"+req.body);

user2.findDocuments(DATABASE, "users", 1, {"uName":req.body.username}, function (user) {

res.setHeader('Content-Type', 'application/json;charset=utf-8');

if(user.length==0){

//用户名没有重复 同意创建用户

user2.insertDocuments(DATABASE, "users",

[{

"uName":req.body.username,

"uPasswd":req.body.password,

"uEmail":req.body.email,

"uHasshop":0,

"uShopname":"null",

"aId":'-1'

}],

function (result){

res.send({status:"success", message:"true"});

}

);

}

else{

// 用户名重复。找到这个user 不同意创建用户

res.send({status:"success", message:"false"});

}

});

});

注册页面跟登陆页面类似。不再赘述。

总之呢,之前老是觉得自己浏览器访问的页面是前端的东西。后端是一个虚无缥缈的一堆代码。现在明白其实访问的所有的url都是属于后端的。后端发送什么内容,浏览器就显示什么内容。前端的显示只是一时半刻,后端的资源才是永久哒。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

html表单实现ajax登陆,node.js+jQuery实现用户登录注册AJAX交互相关推荐

  1. Node.js开发的后端登录注册

    1.需要用的包.库 npm i express@next   需要用express请求 文档链接 npm i mongoose mongDB数据库 可以自动创建你所需要的数据库 文档链接 密钥加密   ...

  2. 本地跨域处理ajax,Node.js配合node-http-proxy解决本地开发ajax跨域问题

    情景: 前后端分离,本地前端开发调用接口会有跨域问题,一般有以下3种解决方法: 1. 后端接口打包到本地运行(缺点:每次后端更新都要去测试服下一个更新包,还要在本地搭建java运行环境,麻烦) 2. ...

  3. java 获取js元素,表单元素值获取方式js及java方式的简单实例

    表单元素值获取方式js及java方式的简单实例 这里有新鲜出炉的 Javascript 教程,程序狗速度看过来! JavaScript 客户端脚本语言 Javascript 是一种由 Netscape ...

  4. 分享21个JS抽奖转盘特效,36个JS表单验证,31个JS进度条,总有一款适合您

    分享21个JS抽奖转盘特效,36个JS表单验证,31个JS进度条,总有一款适合您 下载链接:https://pan.baidu.com/s/1TWOGqes5J2baelO9qdItXg?pwd=ma ...

  5. python 搭建登陆系统,用Python连接操作MySQL数据库,做一个简单的用户登录注册系统...

    我们可以很容易地用Python实现一个用户登录系统,相信这即使是对编程新手来说也是小菜一碟. 作为Python的小萌新,今天我想记录下来的是如何实现一个连接了MySQL数据库的用户登录注册系统,它的效 ...

  6. php判断表单提交是否为空,JS判断提交表单不能为空代码 多种方案

    在做前端时我们希望用户按要求提交数据了,如果提交了空我们就需要进入提示,在js中判断表单为空我们直接使用xx==空就可以了,下面看实例. 例 function checkpost() { if(myf ...

  7. 泛微OA流程表单验证附加验证条件-js代码块

    身份证号 验证18位 对应字段名 field10762  数据字段名sfzh 上代码 jQuery(document).ready(function() {var value1= "fiel ...

  8. form表单提交数据的两种方式——submit直接提交、AJAX提交

    submit提交 form表单本身提供action属性,在action属性中填写数据提交地址后,点击submit类型的按钮即可将数据提交至指定地址,代码如下: <form action=&quo ...

  9. 表单元素值获取方式js及java方式

    大家都知道我们在提交form的时候用了多种input表单.可是不是每一种input表单都是很简单的用Document.getElementById的方式就可以获取到的.有一些组合的form类似于che ...

最新文章

  1. nsqjs客户端的部署
  2. php字符串中有特殊符号怎么处理,PHP字符串中特殊符号的过滤方法介绍
  3. IC设计常见设计思想
  4. MATLAB字符串转换函数
  5. Vercel反向代理做CDN,免费给网站加速隐藏源站,可绑定域名
  6. 微软公司将在英国开设三个数据中心
  7. android 数据持久化——ContentProvider
  8. matlab制作科学计算器,MATLAB科学计算器设计
  9. 【Axure教程】滑动输入元件
  10. 小程序登陆-微信小程序登录-支付宝小程序登录-头条小程序登录
  11. 华为手机提示更新包与已安装应用的签名不一致
  12. (附源码)springboot社区文明养宠平台 毕业设计 231609
  13. 眼底病php 是什么病,眼底病_眼底病有哪些_眼底病怎么治疗_快速问医生
  14. java url正则校验,Java正则验证
  15. 编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求三门
  16. Fedora下载地址
  17. 计算机工程与科学北京,高强铝合金加速腐蚀方法的研究-计算机工程与科学-北京航空航天大学.PDF...
  18. 《汇编语言》王爽(第四版) 第十六章 实验16
  19. 四点底“灬”在汉字中的含义
  20. ANSYS接触类型概述

热门文章

  1. ASP.NET Core学习——5
  2. 矩形碰撞检测和圆形碰撞检测。
  3. IOS autosizing(设置控件的固定位置大小)
  4. The example program of C on point
  5. ToString(C2)转人民币金额时的相关问题
  6. Android EditText 赋值与取值
  7. Warning: lio_listio returned EAGAIN Performance degradation may be seen
  8. linux gd结构体,U-Boot中gd的定义和使用
  9. 初学者python笔记(元组、字典、集合详解)
  10. qq降龙电脑版_分享 | 如何利用QQ群上课 简单操作步骤