ajax 做登录 实现页面免刷新
结合之前学的知识,可以用ajax来传递数据,实现页面不用刷新,仅数据刷新,来看一下ajax是怎么来实现页面免刷新的

方的是客户端,圆的是服务器
如果没有ajax的话,客户端直接把数据传给服务器,服务器再解析数据,把数据传回客户端,客户端要刷新页面才能显示
如果用ajax的话,就多了个处理页面,在客户端的代码部分还会有脚本语言,由js把数据传给处理页面,处理页面再传给服务器,服务器解析后再返回处理页面,处理页面返给js,最后由js更改要变动的数据,并不会刷新页面
先来举个简单的例子
html部分
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="../Jquery/jquery-1.11.2.min.js"></script>
</head> <body> <input type="text" id="uid" />
<span id="tishi"></span> </body>
js部分
<script type="text/javascript">
$("#uid").blur(function(){ //失去焦点触发
//取用户名
var uid = $(this).val();
//查数据库,调ajax
$.ajax({
url: "testchuli.php",//处理页面的地址
data:{u:uid}, //要传递的数据(提交)
type:"POST", //提交方式
dataType:"TEXT", //返回数据格式
success:function(data){ //回调函数
var str = "";
if(data.trim()=="OK")
{
str = "该用户名可用";
$("#tishi").css("color","green");
}
else
{
str = "该用户名已存在";
$("#tishi").css("color","red");
}
$("#tishi").text(str);
}
});
})
</script>
ajax部分是用js来完成的,而它的处理页面是通过php代码来完成的
在上面的代码中有一个trim()方法,这个方法是用来去除前后空格的,避免处理页面因为有空格而出错
再来看一下它的处理页面,也就是"testchuli.php" 页面
<?php
include("../fengzhuang/DBDA.class.php");
$db = new DBDA(); $uid = $_POST["u"];
$sql = "select count(*) from users where uid='{$uid}'"; $attr = $db->Query($sql); if($attr[0][0]>0)
{
echo "NO";
}
else
{
echo "OK";
}
上面那就sql语句的意思是,根据传过来的用户名,来查询这张表的数量
来看一下运行的结果
输入数据库内已有的用户名

会显示该用户名已存在
再改一下

用户名可以用
然后再来用ajax做登录页面
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="../Jquery/jquery-1.11.2.min.js"></script>
</head> <body> <div>账号:<input type="text" id="uid" /></div>
<div>密码:<input type="password" id="pwd" /></div>
<input type="button" value="登录" id="btn" />
</body>
<script type="text/javascript">
$("#btn").click(function(){
//取用户名和密码
var uid = $("#uid").val();
var pwd = $("#pwd").val();
//调AJAX
$.ajax({
url:"logincl.php",
data:{u:uid,p:pwd},
type:"POST",
dataType:"TEXT",
success: function(data){
if(data.trim()=="OK")
{
window.location.href="test.php";
}
else
{
alert("用户名或密码错误");
}
}
});
})
</script>
再来写它的处理页面
<?php
include("../fengzhuang/DBDA.class.php");
$db = new DBDA();
$uid = $_POST["u"];
$pwd = $_POST["p"]; $sql = "select pwd from users where uid='{$uid}'";
$attr = $db->Query($sql);
if(!empty($pwd) && !empty($attr) && $attr[0][0]==$pwd)
{
echo "OK";
}
else
{
echo "NO";
}
运行后来看看

这个账号和密码是不对的,点击登陆看一下它会有什么反应

会提示错误
再来改个对的

点击登陆
然后页面就会跳转了

转到上面写的那个网址,证明登陆成功了
ajax 做登录 实现页面免刷新的更多相关文章
- 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- 使用PHP中的ajax做登录页面、验证用户名是否可用、动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- 14.ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- ajax基础语法、ajax做登录、ajax做用户名验证是否可用、ajax做关键字查询动态显示、ajax做用表格显示数据并增加操作列
AJAX: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ...
- 11.10 (上午)开课二个月零六天(ajax基础,ajax做登录)
test.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- php做登录注册页面及加载
//SQL注入攻击 //1.过滤用户的输入 //2.使用预处理语句 //3.写代码的时候尽量避免 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1. ...
- 带你玩转JavaWeb开发之四 -如何用JS做登录注册页面校验
今日内容 使用JQuery完成页面定时弹出广告 使用JQuery完成表格的隔行换色 使用JQuery完成复选框的全选效果 使用JQuery完成省市联动效果 使用JQuery完成下列列表左右选择 使用J ...
- 基于jQuery的ajax系列之用FormData实现页面无刷新上传
接着上一篇ajax系列之用jQuery的ajax方法向服务器发出get和post请求写,这篇主要写如何利用ajax和FormData实现页面无刷新的文件上传效果,主要用到了jQuery的ajax()方 ...
随机推荐
- 优酷、YouTube、Twitter及JustinTV几个视频网站的架构
优酷视频网站架构 一.网站基本数据概览据2010年统计,优酷网日均独立访问人数(uv)达到了8900万,日均访问量(pv)更是达到了17亿,优酷凭借这一数据成为google榜单中国内视频网站排名最 ...
- WGCNA算法研究笔记
转自:http://www.gogoqq.com/ASPX/8390905/JournalContent/1303140588.aspx 研究了近半年的算法,记录下来给自己一个交代,也应该是考G前地最 ...
- loading.io一个可以直接生成loading gif图标的站点
官网是:http://loading.io/ 进去后,可以拖动左图大小,然后点右边的make gif就可以自动生成所选大小的gif图标了,生成后会弹出一个download窗,点download下载即可 ...
- 闭包用法,延迟tab
var changeTab =( function () { var timeId = 0; return function (tabId) { if (timeId) { clearTimeout( ...
- 把windows的bat用好了,也很不错
taskkill /f /t /im nginx.exe cp2nginx xcopy /e /i /y “D:\workspace\workspace1\aff\WebContent” “D:\ng ...
- iOS 设置UILable字体,及计算长度和位置
UILabel *lastLable = [[UILabel alloc] init]; UIFont *font = [UIFont fontWithName:lastLable.font.font ...
- linux下简单限制网卡速度
Linux下限制网卡的带宽,可用来模拟服务器带宽耗尽,从而测试服务器在此时的访问效果. 1.安装iproute yum -y install iproute 2.限制eth0网卡的带宽为50kbit: ...
- Div里面载入另一个页面的实现(取代框架)(AJax)
随着框架越来越不火了,HTML5就不对框架支持了,iframe也只有url了,Div就担当了此大任 DIV+CSS在页面部局确实也很让人满意,使用也更方便 今天突然遇到一个问题,那就是需要导入另一个页 ...
- mongoDB文档操作
数据库操作无非就是增.删.改.查.这篇主要介绍增.删.改. 1.增 Mongodb插入操作很简单,使用关键字“insert”.实例: > db.test.blog.insert({"h ...
- HTTP的GET方法模拟
进行GET方法的测试 #telnet[ ]10.1.1.11[ ]80 GET[ ]/[ ]HTTP/1.0 [两个回车] HEAD[]/[]HTTP/1.0[回车回车] http://www.cnb ...