ajax 用 get方法 验证登录
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方法 验证登录的更多相关文章
- ajax的使用:(ajaxReturn[ajax的返回方法]),(eval返回字符串);分页;第三方类(page.class.php)如何载入;自动加载函数库(functions);session如何防止跳过登录访问(构造函数说明)
一.ajax例子:ajaxReturn("ok","eval")->thinkphp中ajax的返回值的方法,返回参数为ok,返回类型为eval(字符串) ...
- WPF:验证登录后关闭登录窗口,显示主窗口的解决方法
http://www.27ba.com/post/145.html WPF:验证登录后关闭登录窗口,显示主窗口的解决方法 最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后 ...
- 一步一步实现FormsAuthentic验证登录
本文不讲原理,只讲用法,原理性的东西网上特别多,不过还是会对一些要用到的东西进行解释,不深入讲原理.本文中用的是Vs2012 .net mvc 4.0.原理看这篇文章,看完这个文章绝对受益匪浅. ...
- 验证控件,解决用于ajax提交前的验证,不是submit提交的验证
//解决ajax提交前的验证问题,主要用于onclick事件时对某一区域中(可以是form,div,table中的等)控件的验证.(function ($) { var v; //Create a n ...
- JAVA短信验证登录
短信验证登陆 1.点击触发,以电话号码为参数调用发送验证登录短信方法 2.默认模板为验证模板 生成6位验证码 3.将生成的验证码和手机号码放入缓存,(已经设置好缓存存放时间) 4.调用发送模板短信方法 ...
- Scrapy中使用cookie免于验证登录和模拟登录
Scrapy中使用cookie免于验证登录和模拟登录 引言 python爬虫我认为最困难的问题一个是ip代理,另外一个就是模拟登录了,更操蛋的就是模拟登录了之后还有验证码,真的是不让人省心,不过既然有 ...
- Ajax+Struts2实现验证码验证功能
---------------------------------------------------------------------------------------------------- ...
- Ajax 与服务器通信 验证编号重复
在最近的一个Web项目中,需要实现一个功能,就是用户在前端输入一个编号,后台需要验证这个编号是否在数据库中已经存在,如果存在就提示用户. 主要用到两个模块.第一:在jsp中添加一个脚本,利用ajax向 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十四║ Vuex + JWT 实现授权验证登录
壹周回顾 哈喽,又是元气满满的一个周一,又与大家见面了,周末就是团圆节了,正好咱们的前后端也要团圆了,为什么这么说呢,因为以后的开发可能就需要前后端一起了,两边也终于会师了,还有几天Vue系列就基本告 ...
- JSP+MySQL验证登录的实现方式
用IDEA连接MySQL验证登录实现方式核心部分代码 用setString的方法对从数据库中的提取的信息经行比对: try { Class.forName("com.mysql.jdbc.D ...
随机推荐
- 24.-Django生成csv文件及下载
一.csv文件定义 逗号分隔值(comma-separated values, csv,有时页称字符分隔值,因为分分隔字符页可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本) 说明:可被常见 ...
- 快读《ASP.NET Core技术内幕与项目实战》EFCore2.5:集合查询原理揭秘(IQueryable和IEnumerable)
本节内容,涉及4.6(P116-P130).主要NuGet包:如前述章节 一.LINQ和EFCore的集合查询扩展方法的区别 1.LINQ和EFCore中的集合查询扩展方法,虽然命名和使用完全一样,都 ...
- 三十一、kubernetes网络介绍
Kubernetes 网络介绍 Service是Kubernetes的核心概念,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上 ...
- ES6 学习笔记(一)let、const与作用域
一.let命令 1.1用法 1.1.1 let类似于var,但所声明的变量只在let命令所在的代码块有效. 如: { let a = 10 var b = 20 } console.log(b) co ...
- Docker容器化技术
1. 初始Docker 1.1 Docker概念 Docker概念:Docker是一个开源的应用容器引擎 诞生于2013年初,基于Go实现,dotCloud公司出品(后改名为Docker Inc) D ...
- luoguP1505旅游(处理边权的树剖)
/* luogu1505 非常简单的处理边权的树剖题. 在树上将一条边定向,把这条边的权值赋给这条边的出点 树剖的时候不计算lca权值即可 */ #include<bits/stdc++.h&g ...
- 嵌入式-C语言基础:指针函数
指针函数:返回指针的函数,即函数返回一个地址.例如:int * a(int x,int y);由于()的优先级比*高,因此a先与()结合,a(int x,int y)显然是一个函数,函数前面带一个in ...
- Java自定义排序
实现Comparator接口 实现该接口需要重写compare()方法 Arrays.sort(students, new Comparator<Student>() { @Overrid ...
- 使用Jupyter记事本记录和制作.NET可视化笔记
前言:对于记录笔记的工具特别多,不过对于程序员来说,记录笔记+程序代码+运行结果演示可以同时存在,无疑会极大增加我们的笔记的可读性和体验感.以前在写python的时候,使用jupyter的体验很好,所 ...
- NOI2011真题:兔兔与蛋蛋游戏
NOI2011真题:兔兔与蛋蛋游戏 题目描述 这些天,兔兔和蛋蛋喜欢上了一种新的棋类游戏. 这个游戏是在一个 n行 m 列的棋盘上进行的.游戏开始之前,棋盘上有一个格子是空的,其它的格子中都放置了一枚 ...