异步的意思,它有别于传统web开发中采用的同步的方式。

        JQuery  AJAX 应用详见:jQuery ajax

AJAX 使用 JavaScript 在 web 浏览器与 web 服务器之间来发送和接收数据。

通过在幕后与 web 服务器交换数据,而不是每当用户作出改变时重载整个 web 页面,AJAX 技术可以使网页更迅速地响应。(目的:提高用户体验,较少网络数据的传输量)

        

SharedPreferences异步获取数据 异步数据请求_服务器

Ajax原理:

SharedPreferences异步获取数据 异步数据请求_javascript_02

 Ajax使用:

/*1.创建Ajax核心对象XMLHttpRequest(记得考虑兼容性)*/
 var xhr=null;  
 if (window.XMLHttpRequest)  
 {            // 兼容 IE7+, Firefox, Chrome, Opera, Safari  
     xhr=new XMLHttpRequest();  
 } else{      // 兼容 IE6, IE5 
    xhr=new ActiveXObject("Microsoft.XMLHTTP");  
 } 

 /*2.向服务器发送请求*/
 //   method:请求的类型;GET 或 POST
 //   url:文件在服务器上的位置
 //   async:true(异步)或 false(同步)
 xhr.open(method,url,async);  
 xhr.send(string);    //post请求时才使用字符串参数,否则不用带参数。

 //注意:post请求一定要设置请求头的格式内容
 xhr.open("POST","test.html",true);  
 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");  
 xhr.send("fname=Henry&lname=Ford");  //post请求参数放在send里面,即请求体

/*3.服务器响应处理(区分同步跟异步两种情况)*/
 //responseText 获得字符串形式的响应数据。
 //responseXML 获得XML 形式的响应数据。

  //同步处理
   xhr.open("GET","info.txt",false);  
   xhr.send();  
   document.getElementById("myDiv").innerHTML=xhr.responseText; //获取数据直接显示在页面上

  //异步处理(要在请求状态改变事件中处理)
    xhr.onreadystatechange=function()  { 
        if (xhr.readyState==4 &&xhr.status==200)
             document.getElementById("myDiv").innerHTML=xhr.responseText;  
    };

XMLHTTPRequest对象:

方法

描述

abort()

停止当请求

getAllResponseHeaders()

把HTTP请求的所有响应首部作为键/值对返回

getResponseHeader("header")

返回指定首部的串值

open("method","URL",[asyncFlag],["userName"],["password"])

建立对服务器的调用。method参数可以是GET、POST或PUT。url参数可以是相对URL或绝对URL。这个方法还包括3个可选的参数,是否异步,用户名,密码

send(content)

向服务器发送请求

serRequesHeader("header","value")

把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()。设置header并和请求一起发送 ('post'方法一定要 )

属性

描述

onreadystatechange

状态改变的事件触发器,每个状态改变时都会触发这个事件处理器,通常会调用一个JavaScript函数

readyState

请求的状态。有5个可取值:0 = 未初始化,1 = 正在加载,2 = 已加载,3 = 交互中,4 = 完成

responseText

服务器的响应,返回数据的文本。

responseXML

服务器的响应,返回数据的兼容DOM的XML文档对象 ,这个对象可以解析为一个DOM对象。

responseBody 

服务器返回的主题(非文本格式)

responseStream

服务器返回的数据流

status

服务器的HTTP状态码(如:404 = "文件末找到" 、200 ="成功" ,等等)

statusText

服务器返回的状态文本信息 ,HTTP状态码的相应文本(OK或Not Found(未找到)等等)