AJAX学习笔记:创建XMLHttpRequest对象的五步骤
来源:互联网 发布:极乐净土镜头数据 编辑:程序博客网 时间:2024/05/21 16:22
XMLHttpRequest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端,但并不会打断用户当前的操作。这是一个非常流行的做法,那么如何建立一个XMLhttpRequest对象呢?
1、建立XMLHttpRequest对象
2、注册回调函数
3、使用open方法设置和服务器交互的基本信息
4、设置发送的数据,开始和服务器交互
5、在回调函数中判断交互是否结束,响应是否正确,并根据需要获取服务器端返回的数据,更新页面内容。
下面就通过代码来具体的来阐释这五步。(首先介绍的是使用GET方式)
- //定义全局变量
- var xmlhttp;
- /* 1、创建XMLHttpRequest对象
- *说明:这是一个相对复杂的过程,因为要使用不同的浏览器
- */
- if(window.XMLHttpRequest){
- //适用于IE7、IE8、FireFox、Opera等浏览器
- xmlhttp = new XMLHttpRequest();
- if(xmlhttp.overrideMineType){
- xmlhttp.overrideMineType("text/xml")
- }
- }else if(window.ActiveXObject){
- //IE6、IE5、IE5.5
- var activexName = ["MSXML2.XMLHTTP","Miscrosoft.XMLHTTP"];
- for(var i =0 ;i<activexName.length;i++){
- try{
- xmlhttp = new ActiveXObject(activexName[i]);
- }catch(e){
- }
- }
- }
- if(xmlhttp == undefind || xmlhttp == null){
- alert("当前浏览器不支持创建XMLHttpRequest对象");
- return;
- }
- /*2、给XMLHttpRequest对象注册回调方法
- *注意:虽然callback是一个方法,但是这里必须使用方法名,后面不用加()
- */
- xmlhttp.onreadystatechange = callback;
- /*
- *3、设置和服务器交互的相应的参数
- */
- //UserName是页面中的控件id
- var userName = document.getElementById("UserName").value;
- xmlhttp.open("GET","AJAX?name="+userName,true);
- //open方法几个重要的参数:get/post,服务器地址,
- //XMLhttpRequest对象的交互方式即同步/异步,true表示异步方式)
- /*
- *4、设置向服务器发送的数据,启动和服务器的交互
- */
- xmlhttp.send(null);
- function callback(){
- /*
- *5、判断和服务器交互是否完成,还要判断服务器是否正确返回了数据
- */
- if(xmlhttp.readyState == 4){
- //表示和服务器端的交互已经完成
- if(xmlhttp.status == 200){
- //表示服务器的响应代码是200,正确的返回了数据
- //纯文本数据的接受方法
- var message = xmlhttp.responsText();
- //如果使用的是DOM对象的接受方法,则
- //var doxXml = xmlhttp.responseXML();
- //但是有一个前提,服务器端需要设置content-type为text/xml
- var div = document.getElementById("页面div的ID")
- div.innerHTML = message;
- }
- }
- }
使用POST方法与GET方式只有3、4两步又差异,其他的相同
- /*
- *3、设置和服务器交互的相应的参数
- */
- //UserName是页面中的控件id
- var userName = document.getElementById("UserName").value;
- xmlhttp.open("POST","AJAX",true);
- //open方法几个重要的参数:get/post,服务器地址,
- //XMLhttpRequest对象的交互方式即同步/异步,true表示异步方式)
- /*
- *4、设置向服务器发送的数据,启动和服务器的交互
- */
- xmlhttp.setRequestHeader("Content-Type","application/x-www-fora-urlencoded");
- xmlhttp.send("name="+userName);
0 0
- AJAX学习笔记:创建XMLHttpRequest对象的五步骤
- AJAX学习笔记:创建XMLHttpRequest对象的五步骤
- AJAX学习笔记(二)_创建XMLHttpRequest对象
- AJAX笔记一创建XMLHttpRequest对象,以及XMLHttpRequest对象的常用属性
- AJAX 创建 XMLHttpRequest对象
- ajax创建XMLHttpRequest对象
- AJAX - 创建 XMLHttpRequest 对象
- AJAX - 创建XMLHttpRequest 对象
- AJAX - 创建 XMLHttpRequest 对象
- AJAX - 创建 XMLHttpRequest 对象
- AJAX-创建XMLHttpRequest对象
- AJAX - 创建 XMLHttpRequest 对象
- ajax-创建XMLHttpRequest对象
- Ajax创建XMLHttpRequest对象
- AJAX - 创建 XMLHttpRequest 对象
- AJAX - 创建 XMLHttpRequest 对象
- AJAX学习笔记一(认识XMLHttpRequest对象)
- AJAX 学习笔记(1) XMLHttpRequest对象概述
- 程序员杂谈
- 在webstorm里面添加自定义web browsers的方法
- linux基础(基本命令)
- 推荐两款基于JQuery的在线内容编辑器
- Linux/Unix 桌面趣事:桌面上追逐的猫和老鼠
- AJAX学习笔记:创建XMLHttpRequest对象的五步骤
- android 4.4打开MTP模式以及USB CD Rom模式打开方法
- 三星手机拍照旋转问题 调用相机拍照出现横竖屏切换?
- qt-映射器-键盘的应用
- lua tutorial 02
- C#判断字符是英文还是中文
- 非阻塞通道
- 绝美中国
- 真正的团队,必须要拍死这6大负能量