JQuery学习(2)之Ajax
同步传输 正 多件事情一起做 | 程 不 事情一件一件地做
常: | 序 是:
异步传输 人 事情一件一件地做 | 员 人 多件事情可以一起做
附加(XML)
★XML作用:用来存储数据。
★XML特点(注意事项):①XML文档有且只有一个根节点
②XML是严格区分大小写的
③XML标签成对出现
Ajax代码一分为二
Ⅰ、服务端代码(用的一般处理程序)
第一步:获取传来的数据
第二步:处理数据生成结果
第三步:Response写入XML字符串
Ⅱ、客户端代码(实现无刷新,获取数据)
①发送请求之前的代码--主调函数
②发送请求之后的代码--回调函数
第一步:判断要给谁添加事件,添加什么事件
第二步:判断是否需要传参,需要传参,就获取值(在事件之内实现获取值的代码)
第三步:调用ajax函数,,详解ajax函数步骤(JQuery实现):
$.ajax({
url:"要调用服务器端的路径",----------注意:用逗号隔开
data:{名(自拟):"值"},--------------名(自拟),在一般处理程序中通过Request["名"]来获取传来的值,若要传多个参数,用逗号隔开。
type:"POST",--------------大写
dataType:"XML",----------------大写
success:function (data){--------------千万不要忘了加参数,data代表服务器返回来的数据,这里用的是XML
//解析XML:解析服务端返回过来的XML文件--------注解①
//显示HTML:把解析出来的XML,显示数来---------注解②
}
});
注解①:如果在XML文件中要获取的内容是标签的纯文本形式如:<book>水浒传</book><price>1.0</price>,所用的解析XML文件的方法:find("标签名").text-------------JQuery获取标签文本的方法
例: var rel = $(data).find("标签名").text;
如果在XML文件中要获取的信息写入了标签的属性中如:<book name="水浒传" value="1.0" />,所用的解析XML文件的方法:attr("属性名")--------------JQuery获取标签属性的方法
例:var rel =$(data).find("标签名").attr("value");
注解②:显示HTML
调用的JQuery的html()方法
append() 追加子节点
实战例子
Ⅰ用户注册--html代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="script/jquery-1.7.1.js"></script>
<script language="javascript">
$(document).ready(function () {
$("#txtUser").blur(function () {
var user = $("#txtUser").val();
$.ajax({
url: "login.ashx",
data: { u: user },
type: "POST",
dataType: "XML",
success: function (data) {
//解析
var rel=$(data).find("result").text();
//显示
if (rel=="True") {
$("#lbl").html("该用户名可以使用");
}
else {
$("#lbl").html("用户名已存在");
}
}//success
})//ajax
})//blur
})//ready
</script>
</head>
<body>
<h1>用户注册界面</h1>
<form id="form1" runat="server">
<div> 用户名:<asp:TextBox ID="txtUser" runat="server"></asp:TextBox>
<asp:Label ID="lbl" runat="server" Text="Label"></asp:Label>
<br />
密码:<asp:TextBox ID="txtPass" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btnLogin" runat="server" Text="注册" /> </div>
</form>
</body>
</html>
服务端代码:
public class login : IHttpHandler {
private MyDBDataContext _Context = new MyDBDataContext();
public void ProcessRequest (HttpContext context)
{
//获取传过来的值
string s = context.Request["u"].ToString();
bool isOK;
var query = this._Context.Login.Where(r => r.UserName == s);
if (query.Count() == )
{
isOK = true;
}
else
{
isOK = false;
}
string xmll = "<?xml version='1.0'?>";
xmll += "<result>" + isOK + "</result>";
context.Response.Write(xmll);
context.Response.End();
}
Ⅱ一边录入信息一边获取信息
html代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="script/jquery-1.7.1.js"></script>
<script language="javascript">
$(document).ready(function () {
$("#txtUser").keyup(function () {//每输入一个字符请求一次
var s = $("#txtUser").val();//获取录入的值
$.ajax({
url: "Message.ashx",
data: { uid: s },
type: "POST",
dataType: "XML",
success: function (data) {
//解析
var name = $(data).find("name").text();
var pass = $(data).find("pass").text();
var account = $(data).find("account").text();
//显示
$("#lblName").html(name);
$("#lblPass").html(pass);
$("#lblAccount").html(account);
}//success
});//ajax
});//.keyup
});//ready
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtUser" runat="server"></asp:TextBox><br />
详细信息:<br />
姓名:<asp:Label ID="lblName" runat="server" Text="Label"></asp:Label><br />
密码:<asp:Label ID="lblPass" runat="server" Text="Label"></asp:Label><br />
账户余额:<asp:Label ID="lblAccount" runat="server" Text="Label"></asp:Label>
</div>
</form>
</body>
</html>
服务端代码:
public class Message : IHttpHandler {
private MyDBDataContext _Context = new MyDBDataContext();
public void ProcessRequest (HttpContext context) {
string uid = context.Request["uid"].ToString();//获取请求的值
Login data=new Login();
//根据请求的值查询数据库
var query = this._Context.Login.Where(r => r.UserName == uid);
if (query.Count()>)
{
data = query.First();
}
//写入xml文件
string s = "<?xml version='1.0'?><root><name>" + data.Name + "</name><pass>" + data.Password + "</pass><account>" + data.Account + "</account></root>";
//回复
context.Response.Write(s);
}
JQuery学习(2)之Ajax的更多相关文章
- jQuery学习笔记之Ajax用法详解
这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...
- jQuery学习小结3——AJAX
一.jQuery的Ajax方法 jQuery对Ajax 做了大量的封装,使用起来也较为方便,不需要去考虑浏览器兼容性.对于封装的方式,jQuery 采用了三层封装: 最底层的封装方法为——$.ajax ...
- jQuery学习笔记(Ajax)
jQuery对Ajax操作进行了封装,在jQuery中$.ajax方法属于最底层的方法,第2层是$.load().$.get().$.post()方法,第3层是$.getScript()和$.getJ ...
- 初步学习jquery学习笔记(六)
jquery学习笔记六 AJAX 简介 AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新. load() 方法 load() 方法从服务器加载数据,并把返回的数据 ...
- jQuery学习笔记之jQuery的Ajax(3)
jQuery学习笔记之jQuery的Ajax(3) 6.jQuery的Ajax插件 源码地址: https://github.com/iyun/jQueryDemo.git ------------- ...
- jquery学习笔记(五):AJAX
内容来自[汇智网]jquery学习课程 5.1 ajax AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新. AJAX = 异步 JavaScript 和 XML ...
- jQuery学习之旅 Item10 ajax快餐
1. 摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案, 即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现A ...
- jQuery学习之路(1)-选择器
▓▓▓▓▓▓ 大致介绍 终于开始了我的jQuery学习之路!感觉不能再拖了,要边学习原生JavaScript边学习jQuery jQuery是什么? jQuery是一个快速.简洁的JavaScript ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
- jQuery 学习笔记
jQuery 学习笔记 一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById( ...
随机推荐
- 【Ext.Net学习笔记】01:在ASP.NET WebForm中使用Ext.Net
Ext.NET是基于跨浏览器的ExtJS库和.NET Framework的一套支持ASP.NET AJAX的开源Web控件,包含有丰富的Ajax运用,其前身是Coolite. 下载地址:http:// ...
- 算法分析 Analysis of Algorithms -------GeekforGeeker 翻译
算法分析 Analysis of Algorithms 为什么要做性能分析?Why performance analysis? 在计算机领域有很多重要的因素我们要考虑 比如用户友好度,模块化, 安全性 ...
- PHP中的include和require
1.include语句 使用include语句可以告诉PHP提取特定的文件,并载入它的全部内容 <?php inlude "fileinfo.php"; //此处添加其他代码 ...
- JSON对象和字符串之间的相互转换
比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象: var a={"name":"tom","sex":"男&quo ...
- tp空操作和空控制器处理
TP框架几个重要文件:index.php,ThinkPHP.php,Library/Think/Think.class.php,Library/Think/App.class.php,conversi ...
- android 合并两个jar包
你所要导出的类里边用到了别的jar包.比如说你写的类连接了数据库,用到数据库驱动包oracl.jar(也就是你导入到Myeclipse或eclipse的jdbc包).. .在dos环境下,进入到D盘的 ...
- PHP通用函数 - 日期生成时间轴
/** * 时间轴函数, Unix 时间戳 * @param int $time 时间 */ function TranTime($time) { //$time = strtotime($time) ...
- C语言 文件操作5--文件的常用函数
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> //stdin:标准输入文件指针,系统 ...
- 结合C++和GDAL实现shapefile(shp)文件的创建和写入
工具:vs2012+GDAL 2.0 包含头文件: #include "ogrsf_frmts.h" int main() { const char *pszDriverName ...
- [CareerCup] 8.4 Parking Lot 停车场问题
8.4 Design a parking lot using object-oriented principles. LintCode上的原题,请参见我的另一篇博客Parking Lot 停车场问题. ...