传统浏览方式和AJAX方式的不同

多数Web应用程序都使用请求/响应模型从server上获得完整的HTML页面。经常是点击一个button,等待server对应,在点击还有一个button。然后在等待,这样一个重复的过程。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemx0czAwMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

而AJAX是一种创建交互式网页的网页开发技术。当中XMLHttpRequest是核心的内容,它可以为页面中的javascript脚本提供特定的通信方式。从而使页面的javascript脚本和server之间形成动态交互的效果。XMLHTTPRequest的最大的长处是页面内的javascript脚本可以不用刷新页面,而直接和server发生交互。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemx0czAwMA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

XMLHTTPRequest的五步使使用方法

1、建立XMLHTTPRequest对象

//1.创建XMLHTTPRequest对象
if(window.XMLHttpRequest){
//alert("IE7,IE8,FireFox");
xmlhttp =new XMLHttpRequest();
if(xmlhttp.overrideMimeType){
xmlhttp.overrideMimeType("text/xml");
}
}else if(window.ActiveXObject){
//alert("IE6,IE5.5,IE5");
var activexName=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP","Miscrosoft XMLHTTP"];
for(var i=0;i<activexName.length;i++) {
try{
xmlhttp=new ActiveXObject(activexName[i]);
break;
}catch(e){ }
}
}
if(xmlhttp == undefined || xmlhttp == null){
alert("当前浏览器不支持创建XMLHttpRequest对象,请更换浏览器");
return;
}
array.push(xmlhttp.readyState);

2、注冊回调函数

xmlhttp.onreadystatechange=callback;

要注意的是callback不能写成callback(),我们是想把方法名告诉onreadystatechange这个属性,假设加了括号,就相当于把返回值告诉了onreadystatechange属性。

3、使用open方法设置和server端交互的基本信息

有两种方法

      //GET方式交互
xmlhttp.open("GET","AJAX? name=" + userName,true); //POST方式交互
xmlhttp.open("POST","AJAX",true);
//POST方式交互所需添加的代码
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")

4、设置发送的数据,開始和server端交互

     //GET方式
xmlhttp.send(null); //POST方式
xmlhttp.send("name=" + userName);

5、更新界面

在回调函数中推断交互是否结束,响应是否正确。并依据须要获取server返回的数据。并更新页面

     array.push(xmlhttp.readyState);
//推断和server端的交互是否完毕,还要推断server端是否正确返回了数据
if(xmlhttp.readyState == 4){
//表示和server端的交互已经完毕
if(xmlhttp.status == 200){
//表示server的是响应代码是200。正确返回了数据
var message=xmlhttp.responseText;
//XML数据相应的DOM对象的接受方法
//使用的前提是,server端须要设置contenttype为text/xml //记忆像div标签中填充文本内容的方法
var div=document.getElementById("message");
div.innerHTML=message;
alert(array);
}
}

总结

初步了解XMLHTTPRequest对象的使用,便于以后更深入的去了解和使用。

AJAX--XMLHttpRequest五步使使用方法的更多相关文章

  1. Ajax学习(三)——XMLHttpRequest对象的五步使使用方法

        Ajax的核心技术是XMLHttpRequest对象,它能够在不向server提交整个页面的情况下.实现局部更新网页.通过这个对象,Ajax能够像桌面应用程序那样仅仅与server进行数据层的 ...

  2. AJAX核心--XMLHttpRequest五步法

    引言: AJAX=异步Javascript + XML,AJAX是一种用于创建高速动态网页的技术. 开门见山: 解读:AJAX使用XHTML和CSS为网页表示.DOM动态显示和交互,XML进行数据交换 ...

  3. 五步教你实现使用Nginx+uWSGI+Django方法部署Django程序

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求.ng ...

  4. 不同浏览器创建 ajax XMLHTTPRequest对象的方法及兼容性问题总结

    XMLHttpRequest 对象是AJAX功能的核心,要开发AJAX程序必须从了解XMLHttpRequest 对象开始. 了解XMLHttpRequest 对象就先从创建XMLHttpReques ...

  5. 【转载并整理】AJAX XmlHttpRequest对象详解

    一. XMLHttpRequest由来及原生介绍 XMLHttpRequest(XHR)是一个API对象,其中的方法可以用来在浏览器和服务器端传输数据.这个对象是浏览器的js环境提供的.从XHR获取数 ...

  6. C语言程序设计入门学习五步曲(转发)

    笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手.发生这种现象的原因有三个: 一.所谓的看懂听明白,只是很肤浅的 ...

  7. Js--AJAX的小知识(一):ajax的五种状态

    一.ajax的五种状态(readyState ) 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已 ...

  8. ajax——XMLHttpRequest

    XMLHttpRequest对象.能够让ajax程序在不又一次载入的页面的情况下更新页面数据,页面载入完毕后从server接受发生数据.这样既减轻了server负担又回顾了响应速度,缩短了用户的等待时 ...

  9. ElasticSearch第五步-.net平台下c#操作ElasticSearch详解

    前面我们讲解了关于ElasticSearch的安装配置,以及CRUD 本章我将讲解怎么使用c#操作ElasticSearch. 首先你需要一定的技术储备,比如:asp.net webapi,mvc,j ...

随机推荐

  1. 监控RMAN操作进度的脚本

    REM ------------------------------- REM Script to monitor rman backup/restore operations REM To run ...

  2. input[type="file"]的图片预览

    在项目中遇到用input标签file类型的文件上传,想实在上传之前进行图片的预览功能:之前的做的一个解决方案是文件先上传上去然后返回地址再显示在页面上,这样就不太好,因为用户基本信息可能并没有保存,但 ...

  3. Python3基础笔记---序列化

    1.json模块   菜鸟教程 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写. import json json.dumps json ...

  4. iF.svnadmin 安装遇到的坑

    iF.svnadmin 官网:http://svnadmin.insanefactory.com/ 安装配置iF.svnadmin : http://blog.linhere.com/archives ...

  5. The Node.js Event Loop, Timers, and process.nextTick() Node.js事件循环,定时器和process.nextTick()

    个人翻译 原文:https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/ The Node.js Event Loop, Ti ...

  6. LightOJ-1074 Extended Traffic 最短路问题 注意连通性

    题目链接:https://cn.vjudge.net/problem/LightOJ-1074 题意 给一图 求最短路 若最短路<3或没有最短路,则输出'?' 思路 首先注意到可能存在负环,所以 ...

  7. [AH2017/HNOI2017]影魔(主席树+单调栈)

    设\(l[i]\)为i左边第一个比i大的数的下标.\(r[i]\)为i右边第一个比i大的数的下标. 我们把\(p1,p2\)分开考虑. 当产生贡献为\(p1\)时\(i\)和\(j\)一定满足,分别为 ...

  8. ifram 实现左侧菜单,右侧显示内容

    一般都是左侧的导航栏中的a标签中写一个target(a标签有target属性), 右侧的div标签中写一个iframe,在iframe中有name的属性,在左侧a标签中的target写上iframe中 ...

  9. Mybaties下的分页功能的实现

    jsp页面 <!-- 页码 --> <div class="ipRListNav2"> <a href="zyxx.do?findZyxx& ...

  10. 【cocos2d-x 3.7 飞机大战】 决战南海I (二) 我方飞机的实现

    在上一篇中.我们实现了游戏的開始界面,接下来要实现游戏的主界面.主界面包括地图.我方飞机.敌机等 先来实现我方飞机 我方飞机具有哪些属性呢? 飞机要具有生命值.要有动画效果(尾部喷气),飞机不可以飞出 ...