今天讲了ajax的组成及使用方法:首先我们看看一个简单的ajax的例子:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-1.11.2.min.js"></script>
</head> <body>
<input type="text" id="uid" />
<span id="tishi"></span>
</body>
<script type="text/javascript">
$("uid").blur(function(){
//1.取内容
var uid = $(this).val();
//2.拿内容去数据库验证
$.ajax({
url:"chuli.php", //请求地址
data:{yhm:uid}, //要提交的数据
type:"POST", //提交的方式
dataType:"TEXT", //返回类型 TEXT字符串;JSON;XML
success:function(data){//回调函数
if(data==0)
{
$("#this").text("该用户名可用");
$("#this").css("color","green");
}
else
{
$("#this").text("该用户名已存在");
$("#this").css("color","red");
}
}
})
//3.给出提示
})
</script>
</html>

我们可以看到里面有一些常用的类型:url,data,type,dataType,以及验证成功后的返回操作方法:success。上面都做了详细的注释,便于理解,下面是处理页面:

<?php
$uid = $_POST["yhm"];
include("DBDA.class.php");
$db = new DBDA();
$sql = "select count(*) from users where uid='{$uid}'";
$arr = $db->Query($sql);
echo $arr[0][0];

这里面没有任何的逻辑处理,只有简单的数据验证和处理。所有的逻辑处理都在客户端页面里面。

下面让我们做一个登陆的ajax页面:

首先看登录页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-1.11.2.min.js"></script>
</head> <body>
<h1>登录页面</h1> <div>用户名:<input type="text" id="uid" /></div>
<div>密&nbsp;码:<input type="text" id="pwd" /></div>
<input type="button" id="btn" value="登录" />
</body>
<script type="text/javascript">
$("btn").click(function(){
//1.取数据
//2.验证数据
//3.提示 var uid = $("#uid").val();
var pwd = $("#pwd").val(); $.ajax({
url:"dlchuli.php",
data:{uid:uid,pwd:pwd},
type:"POST",
dataType:"TEXT",
success: function(data){
//使用data之前,对data进行去空格处理
if(data.trim()=="OK")
{
window.location.href = "main.php";
}
else
{
alert(用户名或密码错误);
}
}
});
})
</script> </html>

显示效果如上图:

其次是处理页面:

<?php
include("DBDA.class.php");
$db = new DBDA();
$uid = $_POST["uid"];
$pwd = $_POST["pwd"]; $sql = "select pwd from users where uid='{$uid}'";
$arr = $db->Query($sql);
if($arr[0][0]==$pwd && !empty($pwd))
{
echo "OK";
}
else
{
echo "NO";
}

这样就能实现登陆处理页面,并且不会让用户访问数据库,大大增加了用户体验性和安全性。

ajax基础部分的更多相关文章

  1. 史上最全的Ajax基础详解

    同步请求和异步请求 先解释一下同步和异步的概念: 同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式. 异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯 ...

  2. 【Java EE 学习 31】【JavaScript基础增强】【Ajax基础】【Json基础】

    一.JavaScript基础增强 1.弹窗 (1)使用window对象的showModelDialog方法和showModelessDialog方法分别可以弹出模式窗口和非模式窗口,但是只能在IE中使 ...

  3. Ajax基础知识《一》

    对于网站开发人员,一定不会陌生的Ajax技术,本篇就让我们认识一下它,或许在日后的开发过程中我们就可以使用到.Ajax在那方面使用的比较多呢?答案:表单注册,传统的表单注册,有时需要填写大量的信息,当 ...

  4. Ajax基础2

    什么是服务器 网页浏览过程的分析 如何配置自己的服务器程序(AMP) 什么是Ajax 无刷新数据读取 异步,同步 Ajax基础(2) 使用Ajax 基础请求显示txt的文件 字符集编码 缓存,阻止缓存 ...

  5. ajax基础语法、ajax做登录、ajax做用户名验证是否可用、ajax做关键字查询动态显示、ajax做用表格显示数据并增加操作列

    AJAX: AJAX 是一种用于创建快速动态网页的技术. 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新.   ...

  6. Ajax基础--JavaScript实现

    ajax原理 1.ajax 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML),也就是无刷新数据读取. 通俗地讲就是:AJAX 通过在后台与 ...

  7. jQuery基础---Ajax基础教程(二)

    jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一篇中, ...

  8. jQuery基础---Ajax基础教程

    jQuery基础---Ajax基础 内容提纲: 1.Ajax 概述 2.load()方法 3.$.get()和$.post() 4.$.getScript()和$.getJSON() 5.$.ajax ...

  9. Ajax基础知识(二)

    接上一篇  Ajax基础知识(一) 在上一篇博客里,抛弃了VS中新建aspx页面,拖个button写上C#代码的方式.使用ajax的方式,异步向服务器请求数据.我们让服务器只简单的返回一个" ...

  10. 原生AJAX基础讲解及兼容处理

    原文:原生AJAX基础讲解及兼容处理 AJAX = Asynchronous JavaScript and XML (异步的JavaScript和XML). AJAX不是新技术 ,但却是热门的技术.它 ...

随机推荐

  1. spring mvc上传下载文件

    前端jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnc ...

  2. sitemap.xml 的 几个东西

    https://github.com/PureKrome/SimpleSitemap/wiki/Sitemap-Index-example  简单类实现 支持sitemapindex 有说明向导 ht ...

  3. 转载:深入探讨 Java 类加载器

    转载地址 : http://www.ibm.com/developerworks/cn/java/j-lo-classloader/ 深入探讨 Java 类加载器 类加载器(class loader) ...

  4. DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱.不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬.(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...).已经上班两天了,公司大部分人还在休假,而我早已上班, ...

  5. 【java设计模式】之 工厂(Factory)模式

    1.工厂模式的定义 工厂模式使用的频率非常高,我们在开发中总能见到它们的身影.其定义为:Define an interface for creating an object, but let subc ...

  6. [No0000B7]If else 与 三元表达式? : 效率对比

    先看 if else 一段代码 using System; class Program { private static void Main() { ; ) i = -; ; Console.Writ ...

  7. C++编程练习(9)----“图的存储结构以及图的遍历“(邻接矩阵、深度优先遍历、广度优先遍历)

    图的存储结构 1)邻接矩阵 用两个数组来表示图,一个一维数组存储图中顶点信息,一个二维数组(邻接矩阵)存储图中边或弧的信息. 2)邻接表 3)十字链表 4)邻接多重表 5)边集数组 本文只用代码实现用 ...

  8. Vue.js 系列教程 ②

    这是关于 JavaScript 框架 Vue.js 五个教程的第二部分.在这一部分,我们将学习组件,Props 以及 Slots.这不是一个完整的指南,而是基础知识的概述,所以你可以了解Vue.js ...

  9. Kafka 0.10 Producer网络流程简述

    1.Producer 网络请求 1.1 Producer Client角度 KafkaProducer主要靠Sender来发送数据给Broker. Sender: 该线程handles the sen ...

  10. Cassandra issue - "The clustering keys ordering is wrong for @EmbeddedId"

    在Java连接Cassandra的情况下, 当使用组合主键时, 默认第一个是Partition Key, 后续的均为Clustering Key. 如果有多个Clustering Key, 在Java ...