实现注册界面无刷新判断重名,由于要访问数据库,所以要达到无刷新,只能用Ajax技术。
其中最重要的就是xmlHttp对象。
XmlHttp是什么?
最通用的定义为:XmlHttp是一套可以在Javascript、VbScript、Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API。XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。
来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML文档对象模型Microsoft® XML Document Object Model (DOM)处理回应。
现在的绝对多数浏览器都增加了对XmlHttp的支持,IE中使用ActiveXObject方式创建XmlHttp对象,其他浏览器如:Firefox、Opera等通过window.XMLHttpRequest来创建xmlhttp对象。
在操作页的前台代码中 <input ID="tbUserName" type="text" onblur ="tbUserName_onBlue(this.value)">
使用html文本框,即客户端控件 触发他的onblur事件调用js函数。
在js文件中定义该函数
// JavaScript Document
var xmlHttp;//全局XMLHttpResquest对象
//针对 ......
前台代码:
<head runat="server">
<title>无标题页</title>
<script src="Ajax.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Name" type="text" onblur="CheckName(this.value)"/>
<br />
<div id="TipForName"></div>
</div>
</form>
</body>
</html>
"Ajax.js"文件里面的代码
var xmlHttp;//全局XMLHttpResquest对象
//针对不同浏览器,获取XMLHttpRequest对象
function CreateXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else ......
这里的ajax可不是大名鼎鼎的ajax俱乐部, 这四个字母在这里Asynchronous JavaScript and XML的缩写。通俗地描述这项技术就是:用 JavaScript 向服务器获取数据,然后更新网页的局部,而不是刷新整个网页。
这项技术非常适合用来开发以浏览器为客户端的系统的界面,使用ajax给用户带来的更好的体验,他们不会感觉到用浏览器开发的客户端与桌面程序有什么差别。
ajax使用了比较多的javacript,并需要访问很多dom对象,这常常给跨浏览器访问带来困扰。但假如你小心应对,还是容易解决这个问题的。比如,你想从服务器段获得一些数据,你必然要用到xmlhttp,为了让程序浏览器无关,你可以这样创建xmlhttp对象:
//for IE
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
//for firefox
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
在很多的ajax范例中,开发者都是用xmlhttp从服务器端获得一个xml数据,然后转换成javascript可触及的对象,再用j ......
先来写一个简单的Ajax程序,使用非同步的方式向服务器端取得TXT文件中的内容,并加以显示。首先,请准备一个HelloAjax.aspx(HTML也可):
*HelloAjax.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HelloAjax.aspx.cs" Inherits="HelloAjax._Default" %>
<!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 runat="server">
<title>Hello,Ajax!</title>
<mce:script src="HelloAjax.js" mce_src="HelloAjax.js" type="text/javascript"></mce:script>
</head>
<<mce:script <mce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js" mce_src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js"></mce:script><mce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js" mce_src= ......
先来写一个简单的Ajax程序,使用非同步的方式向服务器端取得TXT文件中的内容,并加以显示。首先,请准备一个HelloAjax.aspx(HTML也可):
*HelloAjax.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HelloAjax.aspx.cs" Inherits="HelloAjax._Default" %>
<!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 runat="server">
<title>Hello,Ajax!</title>
<mce:script src="HelloAjax.js" mce_src="HelloAjax.js" type="text/javascript"></mce:script>
</head>
<<mce:script <mce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js" mce_src="http://hi.images.csdn.net/js/blog/tiny_mce/themes/advanced/langs/zh.js"></mce:script><mce:script type="text/javascript" src="http://hi.images.csdn.net/js/blog/tiny_mce/plugins/syntaxhl/langs/zh.js" mce_src= ......
上篇介绍了如何在Ajax客户端与服务器端之间传送简单的文本数据,其实,也可以使用XML作为数据传送、沟通的格式,Ajax客户端若要发送XML,基本上就是将XML作为字符串,在POST请求时发送,例如:
*HelloAjax.js
var xmlHttp;
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function prepareXML() {
var xml = "<skills>";
var options = document.getElementById("skills").childNodes;
for (var i = 0; i < options.length; i++) {
var option = options[i];
if (option.selected) {
xml = xml + "<skill>" + option.value + "<\/skill>";
}
}
xml = xml + "<\/skills>";
return xml;
}
function handleSkills() {
var xml = prepareXML();
var url = "Handler1.ashx?timeStamp=" + new D ......
上篇介绍了如何在Ajax客户端与服务器端之间传送简单的文本数据,其实,也可以使用XML作为数据传送、沟通的格式,Ajax客户端若要发送XML,基本上就是将XML作为字符串,在POST请求时发送,例如:
*HelloAjax.js
var xmlHttp;
function createXMLHttpRequest() {
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function prepareXML() {
var xml = "<skills>";
var options = document.getElementById("skills").childNodes;
for (var i = 0; i < options.length; i++) {
var option = options[i];
if (option.selected) {
xml = xml + "<skill>" + option.value + "<\/skill>";
}
}
xml = xml + "<\/skills>";
return xml;
}
function handleSkills() {
var xml = prepareXML();
var url = "Handler1.ashx?timeStamp=" + new D ......
jQuery 是一个JavaScript 库,它有助于简化 JavaScript™ 以及 Asynchronous JavaScript + XML (Ajax) 编程。与类似的 JavaScript 库不同,jQuery 具有独特的基本原理,可以简洁地表示常见的复杂代码。学习 jQuery 基本原理,探索其特性和功能,执行一些常见的 Ajax 任务并掌握如何使用插件扩展 jQuery。
jQuery 是什么?
请访问 Ajax 技术资源中心,这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。
jQuery 由 John Resig 创建于 2006 年初,对于任何使用 JavaScript 代码的程序员来说,它是一个非常有用的 JavaScript 库。无论您是刚刚接触 JavaScript 语言,并且希望获得一个能解决文档对象模型(Document Object Model,DOM)脚本和 Ajax 开发中一些复杂问题的库,还是作为一个厌倦了 DOM 脚本和 Ajax 开发中无聊的重复工作的资深 JavaScript 专家,jQuery 都会是您的首选。
jQuery 能帮助您保证代码简洁易读。您再也不必编写大堆重复的循环代码和 DOM 脚本库调用了。使用 jQuery,您可以把握问题的要点,并使用尽可能最少的代码实现您想要的功能。
毫无疑问,jQuery 的原理是独一无 ......