学习笔记 之--AJAX核心对象 XMLHttpRequest
实现AJAX功能,核心就是XMLHttpRequest,而且现在大多数浏览器都支持这个核心组件对象。
实例:实现无刷新登陆验证
1.前台代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function CheckUser() {
//构建xhr对象。
var xhr;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
//xhr的状态改变事件(xhr状态会自动改变,4代表 完成,200代表 ok)
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
var ret = xhr.responseText; //获取返回信息
if (ret == "1") {
//window.location.href = "Default3.aspx"; 跳转到主页
alert("登陆成功");
}
else {
alert("登陆失败!用户名或者密码错误!");
}
}
}
xhr.open("post", "Handler.ashx?id=" + Math.random(), true);//true 代表异步请求
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); //设置请求头,必须在open之后设置
xhr.send("name=" + document.getElementById("userName").value + "&pwd=" + document.getElementById("passWord").value);//发送信息到一般处理程序。当然 也可以发送到本身页面验证。
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server" method="post">
<div>
<fieldset>
<legend>AJAX登陆验证</legend>
<table>
<tr><td>用户名:</td><td><input type="text" id="userName" name="name"/></td></tr>
<tr><td>密 码:</td><td><input type="text" id="passWord" name="pwd"/></td></tr>
<tr><td></td><td align="left"><input type="submit" id="submit" value="登陆" onclick=" return CheckUser();" /></td></tr>
</table>
</fieldset>
</div>
</form>
</body>
</html>
后台代码
创建一般处理程序,Handler.ashx
<%@ WebHandler Language="C#" class="Handler" %>
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
string name = context.Request.Form["name"];//用户名
string pwd = context.Request.Form["pwd"];//密码
if (name=="sg"&&pwd=="sg")//模拟验证,实际: 数据库验证
{
context.Response.Write("1");
}
else
{
context.Response.Write("0");
}
//context.Response.Write("Hello World");
}
public bool IsReusable {
get {
return false;
}
}
}
学习笔记 之--AJAX核心对象 XMLHttpRequest的更多相关文章
- ASP.NET Ajax核心对象
本章学习目标 主要掌握AJAX的基本概念和实现机制,学习并创建XMLHttpRequest对象,使用XMLHttpRequestObject对象获取服务器端的数据 主要内容如下,请点击ASP.NET ...
- jQuery学习笔记之Ajax用法详解
这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...
- [java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
- [java学习笔记]java语言核心----面向对象之构造函数
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用: 给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...
- 学习笔记:AJAX 跨域问题
学习笔记:AJAX 跨域问题 AJAX 跨域是浏览器的问题. 只要 xhr 请求,不同的域名就会出现 AJAX 跨域问题. JSONP 是一要简单方式,但是有很多弊端,需要修改服务端代码. JSONP ...
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- JavaScript 学习(3)核心对象
##JavaScript 学习 3 1.核心对象 1.1 String对象 声明和生成 var myString="Hello"; var myString=new String( ...
- [原创]java WEB学习笔记15:域对象的属性操作(pageContext,request,session,application) 及 请求的重定向和转发
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- ES6学习笔记(七)-对象扩展
可直接访问有道云笔记分享链接查看es6所有学习笔记 http://note.youdao.com/noteshare?id=b24b739560e864d40ffaab4af790f885
随机推荐
- Ansible好像很好玩的样子哟
这个比SALTSTACK轻量,,不知道速度如何..... 参考文档: http://linux.cn/article-4215-1.html wget http://download.fedorapr ...
- API Hook完全手册
文章来源: http://blog.csdn.net/atfield 原文作者: ATField 整理日期: 2008-07-16 发表评论 字体大小: 小 中 大 注:本文是根据我两年前写的一个 ...
- VC的UNICODE 编程
简介 如果你编写的程序是针对非英语国家的用户,如中国.日本.东欧和中东地区,那么你一定要熟悉 UNICODE 字符集.尤其是用 Visual C++/MFC 编写针对上述国家和地区的用户的程序时,如果 ...
- 关于LEA指令(单周期就可以做简单的算术计算)
堆栈种分配的局部变量所谓的“标号”,你以为是什么?(都是那些该死的宏惹的祸,大家要都是老老实实写代码,就不会有这些疑问了). 比如你用local在栈上定义了一个局部变量LocalVar,你知 ...
- UVa 10837 A Research Problem 欧拉函数
题意: 给你一个欧拉函数值 phi(n),问最小的n是多少. phi(n) <= 100000000 , n <= 200000000 解题思路: 对于欧拉函数值可以写成 这里的k有可能是 ...
- sql union代替or
---原始SQL SQL> SELECT deptno FROM emp WHERE empno = 7788 OR job = 'SALESMAN' ORDER BY 1; DEPTNO -- ...
- 「Poetize10」封印一击
描述 Description Nescafe由n种元素组成(编号为1~n), 第i种元素有一个封印区间[ai,bi].当封印力度E小于ai时,该元素将获得ai的封印能量:当封印力度E在ai到bi之间时 ...
- Merge Two Sorted Lists—LeetCode
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- java—— 调用系统命令
调用所在环境的命令 链接:http://blog.csdn.net/yy6060/article/details/6311916 1 import java.io.*; 2 class Exec{ 3 ...
- iOS NSInvocation的学习
用途: NSInvocation的作用和performSelector:withObject:的作用是一样的:用于iOS编程中调用某个对象的消息. performSelector:withObject ...