Ajax使用的五步法
<script type="text/javascript">
//用于保存XMLHttpRequest对象的变量,由于整个过程中必须使用同一个XMLHttpRequest对象,所以要定义成全局的
var xmlhttp;
function submit()
{
//第一步:创建XMLHttpRequest对象
if(window.XMLHttpRequest){
//对于IE7,IE8,firefox,Mozilla,Safari浏览器都能满足这个条件
xmlhttp=new XMLHttpRequest();
//这段代码是为了解决某些版本的mozilla浏览器在XMLHttpRequest对象接收服务器返回的xml数据会出问题的一个bug而添加的,目前来说属于一个小众事件,所以只需要知道这是个修复小众bug的代码段
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}else if(window.ActiveXObject){
//上面的浏览器也能满足这个条件,但是上面的自带了XMLHttpRequest对象,所以没有必要再利用这个来创建。
//IE6和IE5的判断条件
//由于不同浏览器所支持的Activex版本不同,为了对不同版本的浏览器都能定义出XMLHttpRequest对象,创建的时候遍历所有版本的Activex控件版本,总有一个当前浏览器支持
var activexName=['MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0',
'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP',
'Micro soft.XMLHTTP'];
for(var i=0;i<activexName.length;i++){
try{
xmlhttp=new ActiveXObject();
break;
}
catch(e){
}
}
}
//alert(xmlhttp);
if(xmlhttp==undefined||xmlhttp==null){
alert("您的浏览器太老,请更换版本。");
return;
}
//第二部:注册回调方法,当服务器处理结束返回数据以后利用回调方法实现局部的页面刷新数据
//这个回调方法实际上在每次XMLHttpRequest对象的readyState属性的值发生变化的时候都会被调用,但是我们实际上只关心
//readyState==4(与服务器交互结束)这一种情况。
xmlhttp.onreadystatechange=callback;
//获得文本框输入内容
var userName=document.getElementById("UserName").value;
//使用post方式
//第三步:设置和服务器交互的相应参数
xmlhttp.open("POST","AJAX",true);
//使用POST方式需要多加的代码,手动添加一个Http请求的头信息。这段代码的工作本来是由浏览器帮助完成的
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//第四步:设置向服务器发送的数据,启动和服务器端交互
xmlhttp.send("name="+ userName);
}
function callback(){
//第五步:判断和服务器交互是否完成,还要判断服务器端是否正确返回数据
if(xmlhttp.readyState==4){
//表示和服务器的交互已经完成
if(xmlhttp.status==200){
//服务器端响应代码是200,正确返回了数据
//纯文本数据的接受方法
var message = xmlhttp.responseText;
//xml对应的DOM对象接受方法,
//接受这个需要服务器端设置content-type为text/xml
//var docXml = xmlhttp.responseXML;
//把从服务器端返回的数据动态填充到div标签中
//记忆向div中填充文本的方法
var div = document.getElementById("message");
div.innerHTML = message;
}
}
}
</script
分享到:
相关推荐
**五、处理响应** 最后一步是在`callback`函数中处理服务器响应。首先检查`readyState`是否等于`4`,确保交互已完成。然后,检查`status`是否为`200`,确认服务器已成功返回数据。如果条件满足,可以从响应中提取...
实验五主要涵盖了AJAX技术的运用以及JSP验证码的开发,这两个知识点对于前端开发者来说是至关重要的。AJAX,即Asynchronous JavaScript and XML(异步JavaScript和XML),它允许网页在不重新加载整个页面的情况下与...
AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX AJAX
ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件
ajax详解ajax详解ajax详解 ajax详解ajax详解ajax详解 ajax详解ajax详解ajax详解 ajax详解ajax详解ajax详解
ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效ajax特效
**Ajax五级联动下拉列表**是一种常见的前端交互设计,常用于实现动态、逐级筛选的效果,例如在地区选择、分类导航等场景中。在这个案例中,我们将探讨如何利用Ajax技术与SQL Server 2000数据库进行交互,构建一个五...
ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件ajax控件...
五、动态更新(DynamicUpdate) 在实际项目中,"DynamicUpdate"可能指的是通过Ajax实现的动态数据更新功能。例如,实时显示新的消息、股票价格、天气预报等。这种动态更新可以结合定时器(setInterval)定期发送...
5. **第五章:Ajax库与框架** - jQuery和其他流行Ajax库的使用 - 自定义Ajax库的构建 - 插件和扩展机制 6. **第六章:高级Ajax技术** - JSONP跨域请求 - WebSocket和Server-Sent Events (SSE) - 文件上传与...
**Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...
关于Ajax的常见面试题 1,Ajax和javascript的区别? javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript。 Javascript是由...
AJAX实战AJAX实战AJAX实战AJAX实战AJAX实战AJAX实战AJAX实战AJAX实战
Ajax从入门到精通.pdf 本书籍旨在深入浅出地介绍 Ajax 技术,从基础知识到高级应用,全面覆盖 Ajax 的核心概念、技术原理、实现方法和实践应用。书籍的主要内容包括: 1. Ajax 概述:本书首先介绍了 Ajax 的概念、...
**AjaxRequest(Ajax使用包)** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AjaxRequest是实现Ajax功能的一个工具包,它...
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)。 国 [使用ajax 构建应用程序] 使用ajax 构建应用程序 内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr,Backpack和...
本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...
**第五章:Ajax库与框架** 在实际开发中,开发者往往使用Ajax库或框架,如jQuery、Prototype等,来简化Ajax编程。本章会分析这些库如何封装XMLHttpRequest,提供便捷的API,并讨论如何选择和集成这些库到项目中。 *...
**五、总结** AJAX+JSON在.NET环境中的应用大大提高了Web应用程序的交互性和效率,减少了不必要的页面刷新,提升了用户体验。通过理解并熟练掌握AJAX的异步通信机制以及JSON的数据交换格式,开发者能够构建出更加...