码迷,mamicode.com
首页 > Web开发 > 详细

AJAX 2

时间:2018-01-18 22:08:52      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:encode   返回   form   完整   http请求   rip   microsoft   state   ret   

 

1.在JScript中创建一个XMLHTTP对象并从服务器请求一个XML文档

  //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
  xmlhttp=new XMLHttpRequest();

  // IE6, IE5 浏览器执行代码
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

例:

function createXmlHttpRequest(){
  var xmlHttpReq;
  try{

     //Firefox, Opera ie7.0+, Safari,Chrome
    xmlHttpReq = new XMLHttpRequest();
  }catch (e){
  try{

     //Internet Explorer
     xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
  }catch (e){
  try{
     xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
  }catch (e){}
  }
  }
  return xmlHttpReq;
}

技术分享图片

readystate

技术分享图片

open

  • method:请求的类型;GET 或 POST
  • url:文件在服务器上的位置
  • async:true(异步)或 false(同步)

setRequestHeader

  setRequestHeader(header,value)

  向请求添加 HTTP 头。

  • header: 规定头的名称
  • value: 规定头的值

 

send

 

  将请求发送到服务器。

 

  • string:仅用于 POST 请求

 

 

onreadystatechange

  指定当readyState属性改变时的事件处理句柄

 

 

 status

返回当前请求的http状态码

 技术分享图片

技术分享图片

 

 

responseText

 变量,此属性只读,将响应信息作为字符串返回

responseXML

 变量,此属性只读,将响应信息格式化为Xml Document对象并返回。

 

 1     <script type="text/javascript">
 2         window.onload=function(){
 3             document.getElementById("b1").onclick=function(){
 4                 //Ajax 代码
 5                 var xhr = createXmlHttpRequest();
 6                 /**请求的状态码
 7                 0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法) 
 8                 1 (初始化) 对象已建立,尚未调用send方法 
 9                 2 (发送数据) send方法已调用,但是当前的状态及http头未知 
10                 3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误, 
11                 4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据 
12                 */
13                 alert(xhr.readyState);//返回当前请求的状态,只读.
14                 //创建一个新的http请求,并指定此请求的方法、URL以及验证信息(用户名/密码)
15                 xhr.open("POST","/Ajax/ServletDemo02?time="+new Date().getTime());
16                 //告知服务器,发送正文数据的类型
17                 xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//enctype
18                 //发送请求到http服务器并接收回应
19                 xhr.send("username=liuyang&&password=orcl");            
20                 //指定当readyState属性改变时的事件处理句柄。只写
21                 xhr.onreadystatechange=function(){
22                     if(xhr.readyState==4){
23                         alert(xhr.status);
24                         if(xhr.status==200){
25                             //服务器端返回信息
26                             var data = xhr.responseText;
27                             document.getElementById("d1").innerHTML = data;
28                             alert(data);
29                         }    
30                     }
31                 }
32                 
33             }
34         }
35         function createXmlHttpRequest(){
36             var xmlHttpReq;
37             try{    //Firefox, Opera 8.0+, Safari
38                 xmlHttpReq = new XMLHttpRequest();
39             }catch (e){
40                 try{    //Internet Explorer
41                     xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
42                 }catch (e){
43                     try{
44                         xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
45                     }catch (e){}  
46                 }
47             }
48             return xmlHttpReq;
49         }
50     
51     </script>

 

 

 

 

 

 

 

 

 

AJAX 2

标签:encode   返回   form   完整   http请求   rip   microsoft   state   ret   

原文地址:https://www.cnblogs.com/liuyangv/p/8313039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!