ajax 整理

ajax:通过在后台与服务器进行少量数据交换,使网页实现异步更新。也就是在不刷新页面的情况下,对网页的某些部分进行更新。

 

一、XMLHttpRequest用法

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>ajax</title>
 6 </head>
 7 <body>
 8     <section id="web">
 9         <section>
10             用户:<input type="text" id="name">
11             信息:<input type="text" id="msg">
12             <input type="button" value="确定" id="sub">
13         </section>
14     </section>
15     <section style="border: 2px solid #0cf; margin-top: 30px;" id="returnmsg">
16 
17     </section>
18 </body>
19 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
20 <script>
21     $('#sub').click(function(){
22         var msg = $('#msg');
23         if($(msg).val() != ''){
         // 创建XMLHttpRequest对象
24 var xhr = new XMLHttpRequest(); 25 xhr.timeout = 3000; 26 xhr.ontimeout = function(event){ 27 alert('请求超时!'); 28 } 29 var v = 'msg='+$('#msg').val()+'&name='+$('#name').val(); 30 //var v = "msg=a从GVc方便aa&t=bb飞规划局b"; 31 32 /* get方式提交 */ 33 34 //1. 设置向服务器端发送的数据,启动和服务器端的交互 35 xhr.open('get','ajaxtest.php?'+v, true); 36 //2. 设置向服务器端发送的数据,启动和服务器端的交互 37 xhr.send(null); 38 39 40 /* post方式提交 */ 41 /* 42 //1. 设置和服务器端交互的相应参数 43 xhr.open('post', 'ajaxtest.php', true); 44 //2. post方式交互,需要添加代码 45 xhr.setRequestHeader("content-type","application/x-www-form-urlencoded"); 46 //3. 设置向服务器端发送的数据,启动和服务器端的交互 47 xhr.send(v); 48 */ 49 50 /* 51 * 返回值方法 52 * xhr.onreadystatechange = 函数名(){} 注册回调函数 53 * */ 54 xhr.onreadystatechange = function(){ 55 if(xhr.readyState == 4 && xhr.status == 200){ 56 $('#returnmsg').html(xhr.responseText); 57 }else{ 58 alert(xhr.statusText); 59 } 60 } 61 } 62 }); 63 </script> 64 </html>
 1 <?php
 2 /**
 3  * Created by PhpStorm.
 4  * User: Administrator
 5  * Date: 2018/3/23
 6  * Time: 16:36
 7  */
 8 header("content-type:text/html; charset=utf8");
 9 
10 /*$msg = $_POST['msg'];
11 $t = $_POST['name'];*/
12 
13 $msg = $_GET['msg'];
14 $t = $_GET['name'];
15 
16 echo $msg.$t;

判断浏览器的兼容性:

 1 var xmlhttp;  
 2   
 3             function submit(){  
 4                 //1.创建XHLHttpRequest对象  
 5                 if(window.XMLHttpRequest){  
 6                     //alert("IE7,IE8 ,FireFox。Mozillar、Safari,Opera");  
 7                     //IE7,IE8 ,FireFox。Mozillar、Safari,Opera  
 8                     xmlhttp=new XMLHttpRequest();  
 9                     if(xmlhttp.overrideMimeType){  
10                         xmlhttp.overrideMimeType("text/xml");  
11                     }  
12                 }else if(window.ActiveXObject){  
13                     //IE6,IE6.5 IE5  
14                     alert("IE6,IE6.5 IE5");  
15                     var activexName = ['MSXML2.XMLHTTP.6.0', 'MSXML2.XMLHTTP.5.0',  
16                         'MSXML2.XMLHTTP.4.0', 'msxml2.xmlhttp.3.0', 'MSXML2.XMLHTTP.2.0',  
17                         'MSXML2.XMLHTTP.1.0'];  
18                     for(var i = 0; i < activexName.length; i ++){  
19                         try{  
20                             xmlhttp = new ActiveXObject(activexName[i]);  
21                             break;  
22                         }catch(e){      
23   
24                         }  
25                     }  
26                  }  
27                  if(xmlhttp == undefined || xmlhttp == null){  
28                      alert("当前浏览器不支持穿件XMLHttpRequest对象,请更换浏览器");  
29                      return;  
30                  }
31                  // 提交数据部分 。。。。
32             } 

 

方法属性:

方法和属性

描述

Open(String method,String url,Boolean ansynch,String username,String password)

指定和服务器端交互的HTTP方法,URL地址及其他请求信息。

其中method表示HTTP请求方法。支持所有HTTP的方法,一般使用“GET”,“POST”url表示请求的服务器的地址

Asynch表示是否采取异步方式,true表示异步,false表示同步

后两个参数可以不指定,usrename和password分别表示用户名和密码,提供http认证机制需要的用户名和密码

Send(content)

向服务器发出请求,如果采用异步方式,该方法会立即返回

Content可以不指定或者指定为null表示不发送数据

其内容可以使DOM对象,输入流或是字符串

 

setRequestHeader(String header,String value)

设置HTTP请求中的指定头部header的值为value。
次方法需在open方法以后调用

getAllReponseHeader()

返回包含HTTP的所有响应头包括Content-Length,Date,URI等内容

返回值是一个字符串,包含所有头信息,其中每一个键名和键值用冒号分开,每一组键之间用CR和LF(回车加换行符)来分隔

GetResponseHeader(String header)

返回HTTP响应头中指定的键名header对应的值

Abort()

停止当前http请求,对应的XMLHttpRequest对象会复位到未初始化的状态

responseText

服务器响应的文本内容

ResponseXML

服务器响应的XML内容对应的DOM对象

Status

服务器返回的http状态码

200表示“成功”,404表示“未找到”。500表示“服务器内容部错误”

statusText

服务器返回状态码的文本信息

readyState

表示XMLHttpRequest对象的状态

0=未初始化。对象已创建,未调用open

1=open方法成功调用以后。Send方法未调用

2=send方法已经调用,尚未开始接受数据

3=正在接受数据。Http响应头信息已经接受,响应数据尚未接受完成。

4=完成。响应数据接受完成。

Onreadystatechage

请求状态改变的时间触发器(readyState变化时会调用这个属性上注册的javascript函数)

 

posted @ 2018-03-23 15:44  临点  阅读(185)  评论(0编辑  收藏  举报