`
中国爪哇程序员
  • 浏览: 167247 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

AJAX

 
阅读更多
一. AJAX 注意事项
(1)XHR不会修改浏览器历史栈,即点击“后退”button没有用。
(2)地址栏没有变化
(3)不要过渡使用
(4)老板本流览器不支持(流览器需要支持XHR)
(5)关键是JS,CSS式样,一般与其他插件联合使用。自己写JS容易出问题

二. 外围技术
JS,HTML,DOM,CSS,JSON

三.XMLHttpRequest
IE : xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
FireFox :  xmlHttp = new XMLHttpRequest();


四:功能
(1)局部刷新
(2)异步,也支持同步
open(method,URL,同步or异步,用户名,密码);
open方法多态,最多五个参数,即上,前两个参数为必入例项。
第三个参数:boolena, true:异步;false :同步 。 默认是同步。
测试代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Simple XMLHttpRequest</title>
    
<script type="text/javascript">
var xmlHttp;

function createXMLHttpRequest() {
    if (window.ActiveXObject) {
    		alert("active x");
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    else if (window.XMLHttpRequest) {
    		alert("xml");
        xmlHttp = new XMLHttpRequest();
    }
}
    
function startRequest() {
    createXMLHttpRequest();
    xmlHttp.onreadystatechange = handleStateChange;
    //alert("a");
    xmlHttp.open("GET", "http://localhost:8080/ajax/a.htm", true,"admin","password");
     //alert("b");
    xmlHttp.send(null);
    //alert("c");
}
    
function handleStateChange() {
	   //alert("1");
    if(xmlHttp.readyState == 4) {
    		 //alert("2");
        if(xmlHttp.status == 200) {
        	// alert("3");
        	 document.write(xmlHttp.responseText);
           // document.write("<h1>"+xmlHttp.responseText+"</h1>");
           // alert("The server replied with hehe  : " + xmlHttp.responseText);
        }
    }
}
</script>
    

open 方法设置成true:
访问的URLhttp://localhost:8080/ajax/a.htm 在其servlet打上断点。
alert输出顺序:a, b ,c, 断点,反回结果后,接口回调。
异步效果,发送请求后,在没有返回结果前,会继续渲染页面,执行JS和CSS脚本。即执行alert("C");
open方法设置成:false:
访问的URLhttp://localhost:8080/ajax/a.htm 在其servlet打上断点。
alert输出顺序:a, b , 断点,c, 反回结果后,接口回调。
在没有返回结果前,不会再续渲染页面。

五, xmlHttp API

方法                                      描述
Abort()                        停止当前请求
getResponseHeader(“header”)    返回指定首部的串值
Open(“method”,”url”)        建立对服务器的调用,method参数可以是GET,POST或PUT。url参数可以是相对URL或绝对URL。这个方法还包括3个可选参数。
Send(content)                    向服务器发送请求
setRequestHeader(“header”,”value”)      把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()

标准XMLHttpRequest属性

Onreadystatechange
每个状态改变时,都会出发这个事件处理器。通常会调用一个JavaScript函数。
readyState
请求的状态。有5个可取值:0=未初始化,1=正在加载,2=已加载,3=交互中,4=完成
responseText
服务器的响应,表示为一个串。
responseXML
服务器的响应,表示为XML,这个对象可以解析为一个DOM对象。
Status
服务器的HTTP状态码(200对应OK,404对应Not Found(未找到),等等)
statusText
HTTP状态的相应文本(OK或者Not Found(未找到)等等)

六.get post发送区别
post比get多一行代码:
xmlHttp.setRequestHeqader("Content-Type","application/x-ww-form-urlencoded");

附件是Ajax in action 示例源代码。
分享到:
评论

相关推荐

    Ajax中文手册 API

    很不错的Ajax开发草考文档,方便快捷1. AJAX介绍AJAX是一种运用JavaScript和可扩展标记语言(XML),在网络浏览器和服务器之间传送或接受数据的技术。2. AJAX实例AJAX可以用来创建更多交互式的网络应用程序。3. AJAX源...

    Ajax从入门到精通.pdf

    Ajax从入门到精通.pdf 本书籍旨在深入浅出地介绍 Ajax 技术,从基础知识到高级应用,全面覆盖 Ajax 的核心概念、技术原理、实现方法和实践应用。书籍的主要内容包括: 1. Ajax 概述:本书首先介绍了 Ajax 的概念、...

    Java Ajax分页,jsp ajax分页

    Java AJAX(Asynchronous JavaScript and XML)分页与JSP(JavaServer Pages)相结合,可以提供无需刷新整个页面即可动态加载更多内容的能力,提高用户体验。本教程将深入探讨如何使用AJAX、JavaScript以及MySQL...

    深入浅出Ajax(Head Rush Ajax) 源码 书中代码

    **Ajax 概述** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是利用JavaScript与服务器进行异步数据交换,通过XML或者JSON格式传输数据,使得用户...

    ASP.NET AJAX程序设计——第I卷:服务器端ASP.NET 2.0 AJAX Extensions与ASP.NET AJAX Control Toolkit 源代码

    本卷从最易于理解和使用的那部分入手,介绍ASP.NET AJAX框架中能够与传统ASP.NET无缝对接的服务器端部分,包括服务器端ASP.NET AJAX Extensions与ASP.NET AJAX Control Toolkit。这部分内容不需要读者有任何的客户端...

    jquery+ajax例子

    在IT行业中,jQuery和Ajax是两个非常重要的技术,它们在构建动态、交互性强的Web应用程序时发挥着关键作用。jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互。Ajax...

    AJAX原理 原理 AJAX

    "AJAX原理与技术的深入分析" AJAX(Asynchronous JavaScript and XML)是一种异步通信技术,允许Web应用程序异步地从服务器请求数据,而不需要重新加载整个网页。下面我们将深入分析AJAX的原理、技术、意义和发展...

    AjaxRequest(Ajax使用包)

    **AjaxRequest(Ajax使用包)** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。AjaxRequest是实现Ajax功能的一个工具包,它...

    实例详解Android Webview拦截ajax请求

    Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...

    谷歌浏览器插件—— Ajax Interceptor

    **Ajax Interceptor:深入理解与应用** Ajax Interceptor 是一款专为谷歌浏览器(Chrome)设计的插件,它允许开发者在Ajax请求发送后和响应返回前进行干预,从而实现对AJAX请求数据的修改。这款插件对于前端开发、...

    Professional Ajax, 2nd Edition.pdf

    《Professional Ajax, 2nd Edition》是一本深入探讨Ajax技术的专业书籍,由三位作者Nicholas C. Zakas、Jeremy McPeak和Joe Fawcett共同撰写。本书在2007年由Wiley Publishing, Inc.出版,是针对网站开发、设计以及...

    ajax+json实例

    **Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...

    ajax代码 ajax代码

    **Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...

    php+ajax例子

    标题中的“php+ajax例子”指的是使用PHP服务器端语言与AJAX(Asynchronous JavaScript and XML)客户端技术结合的示例应用。在Web开发中,PHP通常用于处理服务器端逻辑,而AJAX则允许网页在不刷新整个页面的情况下,...

    Ajax基础教程(亚马逊计算机榜首图书,国内第1本Ajax图书) [第一部分 共两部分]

    本书重点介绍Ajax及相关的工具和技术,主要内容包括XMLHttpRequest对象及其属性和方法、发送请求和处理响应、构建完备的Ajax开发工具、使用JsUnit测试JavaScript、分析JavaScript调试工具和技术,以及Ajax开发模式和...

    完美解决ajax访问遇到Session失效的问题

    现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不

    完全手册:ASP.net.Ajax电子教程

    **ASP.NET AJAX 全面解析** ASP.NET AJAX(Asynchronous JavaScript and XML)是微软为.NET Framework提供的一种技术,用于创建富交互式、响应快速的Web应用程序。它将JavaScript库(MicrosoftAjax.js)与服务器端...

    jquery.unobtrusive-ajax.rar

    2. **事件处理**:库内部监听`ajaxStart`、`ajaxSend`、`ajaxSuccess`、`ajaxError`等事件,提供了对Ajax请求生命周期的控制。开发者可以通过自定义事件处理器来扩展功能或处理错误。 3. **内容替换**:默认情况下...

    Struts2与Ajax 精简源码

    Struts2与Ajax 的实现原理,于Servlet+Ajax原理是一致的,都是通过后台的response.getWriter().print("");把数据传输给前台的。 前台Ajax格式如下(需要导入ajax库,比如:jquery-1.11.3.js) 格式: $(function()...

Global site tag (gtag.js) - Google Analytics