欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Ajax簡單的異步交互及Ajax原生編寫

 更新時間:2016年01月22日 10:43:39   作者:險峰  
一提到異步交互大家就會說ajax,仿佛ajax這個技術(shù)已經(jīng)成為了異步交互的代名詞.那下面將研究ajax的核心對象

一提到異步交互大家就會說ajax,仿佛ajax這個技術(shù)已經(jīng)成為了異步交互的代名詞.那下面將研究ajax的核心對象!

利用ajax實現(xiàn)異步交互無非4步:

1.創(chuàng)建ajax核心對象

2.與服務(wù)器建立連接

3.向服務(wù)器發(fā)送請求

4.接收服務(wù)器響應(yīng)的數(shù)據(jù)

看似神秘的異步交互當(dāng)明確這4步后,也許在大家腦海里已經(jīng)有了初步的思路了

首先我們創(chuàng)建ajax的核心對象,由于瀏覽器的兼容問題我們在創(chuàng)建ajax核心對象的時候不得考慮其兼容問題,因為要想實現(xiàn)異步交互的后面步驟都基于第一步是否成功的創(chuàng)建了ajax核心對象.

function getXhr(){
// 聲明XMLHttpRequest對象
var xhr = null;
// 根據(jù)瀏覽器的不同情況進(jìn)行創(chuàng)建
if(window.XMLHttpRequest){
// 表示除IE外的其他瀏覽器
xhr = new XMLHttpRequest();
}else{
// 表示IE瀏覽器
xhr = new ActiveXObject('Microsoft.XMLHttp');
}
return xhr;
}
// 創(chuàng)建核心對象
var xhr = getXhr(); 

通過上述代碼我們已經(jīng)成功的創(chuàng)建了ajax核心對象,我們保存在變量xhr中,接下來提到的ajax核心對象都將以xhr代替.

第二步就是與服務(wù)器建立連接,通過ajax核心對象調(diào)用open(method,url,async)方法.

open方法的形參解釋:

method表示請求方式(get或post)

url表示請求的php的地址(注意當(dāng)請求類型為get的時候,請求的數(shù)據(jù)將以問號跟隨url地址后面,下面的send方法中將傳入null值)

async是個布爾值,表示是否異步,默認(rèn)為true.在最新規(guī)范中這一項已經(jīng)不在需要填寫,因為官方認(rèn)為使用ajax就是為了實現(xiàn)異步.

xhr.open("get","01.php?user=xianfeng");//這是get方式請求數(shù)據(jù) 
xhr.open("post","01.php");//這是以post方式請求數(shù)據(jù) 

第三步我們將向服務(wù)器發(fā)送請求,利用ajax核心對象調(diào)用send方法

如果是post方式,請求的數(shù)據(jù)將以name=value形式放在send方法里發(fā)送給服務(wù)器,get方式直接傳入null值

xhr.send("user=xianfeng");//這是以post方式發(fā)送請求數(shù)據(jù) 
xhr.send(null);//這是以get方式 

第四步接收服務(wù)器響應(yīng)回來的數(shù)據(jù),使用onreadystatechange事件監(jiān)聽服務(wù)器的通信狀態(tài).通過readyState屬性獲取服務(wù)器端當(dāng)前通信狀態(tài).status獲得狀態(tài)碼,利用responseText屬性接收服務(wù)器響應(yīng)回來的數(shù)據(jù)(這里指text類型的字符串格式數(shù)據(jù)).后面再寫XML格式的數(shù)據(jù)和大名鼎鼎的json格式數(shù)據(jù).

xhr.onreadystatechange = function(){
               // 保證服務(wù)器端響應(yīng)的數(shù)據(jù)發(fā)送完畢,保證這次請求必須是成功的
   if(xhr.readyState == 4&&xhr.status == 200){
      // 接收服務(wù)器端的數(shù)據(jù)
      var data = xhr.responseText;
       // 測試
       console.log(data);
   } 
};

ps:Ajax簡單的異步交互

ajax簡單的異步交互,可以先從get方式開始說起

那么創(chuàng)建一個Ajax與服務(wù)器端的異步請求,需要完成三個

步驟1、XMLHttpRequest對象的創(chuàng)建

if(window.XMLHttpRequest){//針對IE7以上 以及標(biāo)準(zhǔn)瀏覽器
var xhr=new XMLHttoRequest();
}else if(window.ActiveXObject){
var xhr=new ActiveXObject("Microsoft.XMLHTTP");
} 

步驟2、注冊回調(diào)函數(shù)

xhr.onreadystatechange=callback;
或者xhr.onreadystatechange=function(){
//codes here 
} 

步驟3、設(shè)置連接信息

xhr.open("GET",url,true)//其中true表示為異步交互

步驟4、發(fā)送數(shù)據(jù)

xhr.send(null);

相關(guān)文章

  • html+ajax實現(xiàn)上傳大文件功能

    html+ajax實現(xiàn)上傳大文件功能

    這篇文章主要為大家詳細(xì)介紹了html+ajax實現(xiàn)上傳大文件功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 利用 FormData 對象和 Spring MVC 配合實現(xiàn)Ajax文件下載功能

    利用 FormData 對象和 Spring MVC 配合實現(xiàn)Ajax文件下載功能

    這篇文章主要介紹了利用 FormData 對象和 Spring MVC 配合實現(xiàn)Ajax文件下載功能,需要的朋友可以參考下
    2017-08-08
  • ajax完美解決的下拉框的onchange問題

    ajax完美解決的下拉框的onchange問題

    最近老總提了一個小功能,在搜索網(wǎng)吧列表的時候加上網(wǎng)吧所屬代理商這個條件,原有的搜索條件是一個地區(qū)二級聯(lián)動,現(xiàn)在需要根據(jù)不同的地區(qū)顯示不同的代理商集合。
    2010-08-08
  • ajax后臺處理返回json值示例代碼

    ajax后臺處理返回json值示例代碼

    很多的新手朋友們不知道ajax如何處理返回json值,在本文將為大家詳細(xì)介紹下
    2013-09-09
  • 關(guān)于Ajax技術(shù)中servlet末尾的輸出流

    關(guān)于Ajax技術(shù)中servlet末尾的輸出流

    這篇文章主要介紹了關(guān)于Ajax技術(shù)中servlet末尾的輸出流的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • ajax分頁查詢詳解

    ajax分頁查詢詳解

    本文主要介紹了ajax實現(xiàn)分頁查詢的步驟與方法。具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • Ajax?請求隊列解決方案并結(jié)合elementUi做全局加載狀態(tài)

    Ajax?請求隊列解決方案并結(jié)合elementUi做全局加載狀態(tài)

    這篇文章主要介紹了Ajax?請求隊列解決方案并結(jié)合elementUi做全局加載狀態(tài),使用 消息隊列 制作 請求防抖,防止重復(fù)請求印象服務(wù)器,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • 基于firefox實現(xiàn)ajax圖片上傳

    基于firefox實現(xiàn)ajax圖片上傳

    這篇文章主要介紹了基于firefox實現(xiàn)ajax圖片上傳,大家都知道在FF下使用ajax是件挺困難的事情,今天給大家介紹的是完美解決這個問題的方法,小伙伴可以參考下。
    2015-05-05
  • Ajax刪除數(shù)據(jù)與查看數(shù)據(jù)操作

    Ajax刪除數(shù)據(jù)與查看數(shù)據(jù)操作

    這篇文章主要介紹了Ajax刪除數(shù)據(jù)與查看數(shù)據(jù)操作,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • 淺析IE針對Ajax請求結(jié)果的緩存問題

    淺析IE針對Ajax請求結(jié)果的緩存問題

    我們通過一個ASP.NET MVC應(yīng)用來重現(xiàn)IE針對Ajax請求結(jié)果的緩存。在一個空ASP.NET MVC應(yīng)用中我們定義了如下一個默認(rèn)的HomeController,其中包含一個返回當(dāng)前時間的Action方法GetCurrentTime。
    2015-09-09

最新評論