最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

Ajax 框架學習筆記

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:52:34
文檔

Ajax 框架學習筆記

Ajax 框架學習筆記:一.XMLHttpRequest 對象的三個重要的屬性。 onreadystatechange 屬性 onreadystatechange 屬性存有處理服務器響應的函數(shù)。下面的代碼定義一個空的函數(shù),可同時對 onreadystatechange 屬性進行設置: xmlHttp.onreadystatechang
推薦度:
導讀Ajax 框架學習筆記:一.XMLHttpRequest 對象的三個重要的屬性。 onreadystatechange 屬性 onreadystatechange 屬性存有處理服務器響應的函數(shù)。下面的代碼定義一個空的函數(shù),可同時對 onreadystatechange 屬性進行設置: xmlHttp.onreadystatechang

一.XMLHttpRequest 對象的三個重要的屬性。

onreadystatechange 屬性

onreadystatechange 屬性存有處理服務器響應的函數(shù)。下面的代碼定義一個空的函數(shù),可同時對 onreadystatechange 屬性進行設置:

xmlHttp.onreadystatechange=function()

{

  // 我們需要在這里寫一些代碼

  }

readyState 屬性

readyState 屬性存有服務器響應的狀態(tài)信息。每當 readyState 改變時,onreadystatechange 函數(shù)就會被執(zhí)行。

這是 readyState 屬性可能的值:

狀態(tài)

描述

0

請求未初始化(在調用 open() 之前)

1

請求已提出(調用 send() 之前)

2

請求已發(fā)送(這里通??梢詮捻憫玫絻热蓊^部)

3

請求處理中(響應中通常有部分數(shù)據(jù)可用,但是服務器還沒有完成響應)

4

請求已完成(可以訪問服務器響應并使用它)

我們要向這個 onreadystatechange 函數(shù)添加一條 If 語句,來測試我們的響應是否已完成(意味著可獲得數(shù)據(jù)):

xmlHttp.onreadystatechange=function()

  {

  if(xmlHttp.readyState==4)

    {

    // 從服務器的response獲得數(shù)據(jù)

    }

  }

responseText 屬性

可以通過 responseText 屬性來取回由服務器返回的數(shù)據(jù)。

 

 

二.基本源碼:

var xmlHttp

 

function showCustomer(str)

{

xmlHttp=GetXmlHttpObject();

if (xmlHttp==null)

  {

  alert ("Your browser does not support AJAX!");

  return;

  }

//設置請求響應的url

var url="getcustomer_xml.asp";

url=url+"?q="+str;

url=url+"&sid="+Math.random();

 

xmlHttp.onreadystatechange=stateChanged;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

 

function stateChanged()

{

if (xmlHttp.readyState==4)

{

//responseText 以字符串返回 HTTP 響應

//document.getElementById("txtHint").innerHTML=xmlHttp.responseText;

 

//responseXML 以 XML 返回響應

//服務器端ContentType 屬性為 response 對象設置了 HTTP 內容類型。該屬性的默認值是 "text/html"。服務器端返回responseXML 要把內容類型設置為 XML。

var xmlDoc=xmlHttp.responseXML.documentElement;

document.getElementById("companyname").innerHTML=

xmlDoc.getElementsByTagName("compname")[0].childNodes[0].nodeValue;

document.getElementById("contactname").innerHTML=

xmlDoc.getElementsByTagName("contname")[0].childNodes[0].nodeValue;

document.getElementById("address").innerHTML=

xmlDoc.getElementsByTagName("address")[0].childNodes[0].nodeValue;

document.getElementById("city").innerHTML=

xmlDoc.getElementsByTagName("city")[0].childNodes[0].nodeValue;

document.getElementById("country").innerHTML=

xmlDoc.getElementsByTagName("country")[0].childNodes[0].nodeValue;

}

}

 

function GetXmlHttpObject()

{

var xmlHttp=null;

try

  {

  // Firefox, Opera 8.0+, Safari

  xmlHttp=new XMLHttpRequest();

  }

catch (e)

  {

  // Internet Explorer

  try

    {

    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");

    }

  catch (e)

    {

    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

    }

  }

return xmlHttp;

}

 

三.Ajax框架:基于瀏覽器的應用框架,基于服務器端的應用框架。

1.基于瀏覽器的應用框架一般分為兩種:

Aplication frameworks:提供了瀏覽器功能,但其最著名的還是在于通過窗口生成組件建立桌面GUI。 如:DOJO,qooxdoo,JavaFX,YUI,ExtJS(最開始的名字是yui-ext,因為擴展了yui的庫,后來發(fā)展為可選擇擴展jquery和prototype就改名字為ext),F(xiàn)lex(與ExtJS有很多相似),TIBET等。

Infrastructural frameworks:提供基本的框架功能和輕便式瀏覽器端操作,讓開發(fā)者去創(chuàng)建具體應用,主要功能包括:

  •  
  • 基于XMLHttpRequest組件的瀏覽器交互功能
  • XML解析和操作功能
  • 根據(jù)XMLHttpRequest的返回信息進行相應的DOM操作
  • 一些特殊情況下,和其他的瀏覽器端技術如Flash(或Java Applets)等集合到一起應用
  • 如:jQuery(代碼量少),prototype,MooTools(功能比prototype強大,設計比prototype完善,從prototype中汲取很多有益的設計理念),Google AJAXSLT,F(xiàn)lash/JavaScript,等。

    2.基于服務器端的應用框架通常以下面兩種方式工作(盡管它們根據(jù)不同的語言進行了分類) :

    HTML/JS Generation(HTML/JS生成):通過服務器端生成HTML和JS代碼在傳遞給瀏覽器端進行直接運行 。如:Ext GWT。

    遠程交互:JavaScript調用服務器端函數(shù)(例如調用Java函數(shù))并返回給JavaScript的回調句柄,或者請求服務器端數(shù)據(jù)信息,例如Session信息,數(shù)據(jù)庫查詢等。 如DWR。

    聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    Ajax 框架學習筆記

    Ajax 框架學習筆記:一.XMLHttpRequest 對象的三個重要的屬性。 onreadystatechange 屬性 onreadystatechange 屬性存有處理服務器響應的函數(shù)。下面的代碼定義一個空的函數(shù),可同時對 onreadystatechange 屬性進行設置: xmlHttp.onreadystatechang
    推薦度:
    標簽: aj 筆記 框架
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top