get-login-ajax.html

---------------------------------------------

<body>

<input type="text" id="uname" >

<br><br>

<input type="text" id="upwd">

<br><br>

<button onclick="login()">登录</button>

<script>

function login(){

//1 dom接收数据

var u_uname=uname.value;

var u_upwd=upwd.value;

//2.ajax 异步连接服务器

//2.1创建异步对象

var xhr=new XMLHttpRequest();

//2.4创建监听,获取响应数据

xhr.onreadystatechange=function(){

if(xhr.readyState==4&&xhr.status==200){

var result=xhr.responseText;

alert(result);

}

};

//2.2打开连接创建请求

var url="http://127.0.0.1:8080/ajax/login_get?uname="+u_uname+"&upwd="+u_upwd;

xhr.open("get",url,true);

//2.3 发送请求

xhr.send();

};

</script>

</body>

----------------------------------------------------------------

router---myajax.js

---------

 

 

 

//创建路由器对象

const express=require('express');

//引入连接池模块

const pool=require('../pool.js');

//创建路由器对象

var router=express.Router();

//测试服务器接收ajax请求的接口

router.get("/ajaxDemo",(req,res)=>{

console.log(111);

res.send("第一个程序");

});

//2.测试带参数的get请求

router.get("/ajaxDemo1",(req,res)=>{

var $uname=req.query.uname;

var $upwd=req.query.upwd;

if(!$uname){

res.send("用户名没有接收到");

return;

}

if(!$upwd){

res.send("密码没有接收到");

return;

}

res.send("用户名为"+$uname+"密码为"+$upwd);

});

//3.get请求登录接口(应该用Post)

//http://127.0.0.1:8080/ajax/login_get?uname=yaya&upwd=123456

router.get("/login_get",(req,res)=>{

//获取请求中的数据

var $uname=req.query.uname;

var $upwd=req.query.upwd;

//验证数据正确的得到

if(!$uname){

res.send("没有获取到用户名称");

retrun;

};

if(!$upwd){

res.send("没有获取到用户密码");

return;

};

//使用连接池访问数据库

var sql="select * from xz_user where uname=? and upwd= ?";

pool.query(sql,[$uname,$upwd],(err,result)=>{

if(err){throw err };

if(result.length>0){

res.send("登录成功");

}else{

res.send("用户名或者密码错误");

};

});

});

//4.post接口请求登录

 

const bodyParser=require('body-parser');

//使用body-parser中间件,将post请求的数据格式化为对象;

router.use(bodyParser.urlencoded({

extended:false

}))

router.post("/login_post",(req,res)=>{

var $uname=req.body.uname;

var $upwd=req.body.upwd;

if(!$uname){

res.send("用户名不能为空");

return;

};

if($upwd==""){

res.send("密码不可以为空");

return;

};

var sql="select * from xz_user where uname=? and upwd=?";

pool.query(sql,[$uname,$upwd],(err,result)=>{

if(err) {throw err};

if(result.length>0){

res.send("登录成功");

}else{

res.send("用户名或密码错误");

};

});

});

//5.使用get获取用户列表

router.get('/userlist',(req,res)=>{

pool.query('select * from xz_user',(err,result)=>{

if(err){ throw err};

res.send(result);

});

});

 

 

//导出路由器对象

module.exports=router;

ajax 用 get方法 验证登录的更多相关文章

  1. ajax的使用:(ajaxReturn[ajax的返回方法]),(eval返回字符串);分页;第三方类(page.class.php)如何载入;自动加载函数库(functions);session如何防止跳过登录访问(构造函数说明)

    一.ajax例子:ajaxReturn("ok","eval")->thinkphp中ajax的返回值的方法,返回参数为ok,返回类型为eval(字符串) ...

  2. WPF:验证登录后关闭登录窗口,显示主窗口的解决方法

    http://www.27ba.com/post/145.html WPF:验证登录后关闭登录窗口,显示主窗口的解决方法 最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后 ...

  3. 一步一步实现FormsAuthentic验证登录

    本文不讲原理,只讲用法,原理性的东西网上特别多,不过还是会对一些要用到的东西进行解释,不深入讲原理.本文中用的是Vs2012   .net mvc 4.0.原理看这篇文章,看完这个文章绝对受益匪浅. ...

  4. 验证控件,解决用于ajax提交前的验证,不是submit提交的验证

    //解决ajax提交前的验证问题,主要用于onclick事件时对某一区域中(可以是form,div,table中的等)控件的验证.(function ($) { var v; //Create a n ...

  5. JAVA短信验证登录

    短信验证登陆 1.点击触发,以电话号码为参数调用发送验证登录短信方法 2.默认模板为验证模板 生成6位验证码 3.将生成的验证码和手机号码放入缓存,(已经设置好缓存存放时间) 4.调用发送模板短信方法 ...

  6. Scrapy中使用cookie免于验证登录和模拟登录

    Scrapy中使用cookie免于验证登录和模拟登录 引言 python爬虫我认为最困难的问题一个是ip代理,另外一个就是模拟登录了,更操蛋的就是模拟登录了之后还有验证码,真的是不让人省心,不过既然有 ...

  7. Ajax+Struts2实现验证码验证功能

    ---------------------------------------------------------------------------------------------------- ...

  8. Ajax 与服务器通信 验证编号重复

    在最近的一个Web项目中,需要实现一个功能,就是用户在前端输入一个编号,后台需要验证这个编号是否在数据库中已经存在,如果存在就提示用户. 主要用到两个模块.第一:在jsp中添加一个脚本,利用ajax向 ...

  9. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十四║ Vuex + JWT 实现授权验证登录

    壹周回顾 哈喽,又是元气满满的一个周一,又与大家见面了,周末就是团圆节了,正好咱们的前后端也要团圆了,为什么这么说呢,因为以后的开发可能就需要前后端一起了,两边也终于会师了,还有几天Vue系列就基本告 ...

  10. JSP+MySQL验证登录的实现方式

    用IDEA连接MySQL验证登录实现方式核心部分代码 用setString的方法对从数据库中的提取的信息经行比对: try { Class.forName("com.mysql.jdbc.D ...

随机推荐

  1. 24.-Django生成csv文件及下载

    一.csv文件定义 逗号分隔值(comma-separated values, csv,有时页称字符分隔值,因为分分隔字符页可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本) 说明:可被常见 ...

  2. 快读《ASP.NET Core技术内幕与项目实战》EFCore2.5:集合查询原理揭秘(IQueryable和IEnumerable)

    本节内容,涉及4.6(P116-P130).主要NuGet包:如前述章节 一.LINQ和EFCore的集合查询扩展方法的区别 1.LINQ和EFCore中的集合查询扩展方法,虽然命名和使用完全一样,都 ...

  3. 三十一、kubernetes网络介绍

    Kubernetes 网络介绍 Service是Kubernetes的核心概念,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上 ...

  4. ES6 学习笔记(一)let、const与作用域

    一.let命令 1.1用法 1.1.1 let类似于var,但所声明的变量只在let命令所在的代码块有效. 如: { let a = 10 var b = 20 } console.log(b) co ...

  5. Docker容器化技术

    1. 初始Docker 1.1 Docker概念 Docker概念:Docker是一个开源的应用容器引擎 诞生于2013年初,基于Go实现,dotCloud公司出品(后改名为Docker Inc) D ...

  6. luoguP1505旅游(处理边权的树剖)

    /* luogu1505 非常简单的处理边权的树剖题. 在树上将一条边定向,把这条边的权值赋给这条边的出点 树剖的时候不计算lca权值即可 */ #include<bits/stdc++.h&g ...

  7. 嵌入式-C语言基础:指针函数

    指针函数:返回指针的函数,即函数返回一个地址.例如:int * a(int x,int y);由于()的优先级比*高,因此a先与()结合,a(int x,int y)显然是一个函数,函数前面带一个in ...

  8. Java自定义排序

    实现Comparator接口 实现该接口需要重写compare()方法 Arrays.sort(students, new Comparator<Student>() { @Overrid ...

  9. 使用Jupyter记事本记录和制作.NET可视化笔记

    前言:对于记录笔记的工具特别多,不过对于程序员来说,记录笔记+程序代码+运行结果演示可以同时存在,无疑会极大增加我们的笔记的可读性和体验感.以前在写python的时候,使用jupyter的体验很好,所 ...

  10. NOI2011真题:兔兔与蛋蛋游戏

    NOI2011真题:兔兔与蛋蛋游戏 题目描述 这些天,兔兔和蛋蛋喜欢上了一种新的棋类游戏. 这个游戏是在一个 n行 m 列的棋盘上进行的.游戏开始之前,棋盘上有一个格子是空的,其它的格子中都放置了一枚 ...