AJAX 異步加載技術

AJAX = 異步 JavaScript 和 XML。

AJAX 是一種用于創建快速動態網頁的技術。

通過在后臺與服務器進行少量數據交換,AJAX 可以使網頁實現異步更新。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。

傳統的網頁(不使用 AJAX)如果需要更新內容,必需重載整個網頁面。

XMLHttpRequest 是 AJAX 的基礎

variable=new XMLHttpRequest(); //創建XMLHttpRequest

對于老版本瀏覽器,可能會不支持X
MLHttpRequest,這時候需要
variable=new ActiveXObject("Microsoft.XMLHTTP");


var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}
else{// code for IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}
 

XMLHttpRequest 對象用于和服務器交換數據

open(method,url,async)

規定請求的類型、URL 以及是否異步處理請求。

  • method:請求的類型;GET 或 POST
  • url:文件在服務器上的位置
  • async:true(異步)或 false(同步)

send(string)

將請求發送到服務器。

  • string:僅用于 POST 請求
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();

當文件非常大的時候就需要使用post,并且post比get更穩定

setRequestHeader(header,value)

向請求添加 HTTP 頭。

  • header: 規定頭的名稱
  • value: 規定頭的值?

(這個setRequestHeader然我聯想到,python的request.get())

open() 方法的?url?參數是服務器上文件的地址:

xmlhttp.open("GET","ajax_test.asp",true);
該文件可以是任何類型的文件,比如 .txt 和 .xml,或者服務器腳本文件,比如 .asp 和 .php (在傳回響應之前,能夠在服務器上執行任務)。

服務器響應

responseText :?獲得字符串形式的響應數據。

responseXML :?獲得 XML 形式的響應數據。

綜合上面知識點,我們可以分析以下代碼:

function loadXMLDoc()
{
  var xmlhttp;
  if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}
  else {  // code for IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");} //這里整個條件判斷都是用來申請異步內容xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState==4 && xmlhttp.status==200){document.getElementById("myDiv").innerHTML=xmlhttp.responseText; //獲得字符串響應,并且在id="myDiv"下顯示}}xmlhttp.open("GET","/ajax/test1.txt",true);  //與服務器進行交互xmlhttp.send();
}

?

onreadystatechange 事件

當請求被發送到服務器時,我們需要執行一些基于響應的任務。

每當 readyState 改變時,就會觸發 onreadystatechange 事件。

readyState 屬性存有 XMLHttpRequest 的狀態信息。

onreadystatechange:存儲函數(或函數名),每當 readyState 屬性改變時,就會調用該函數。

readyState:

存有 XMLHttpRequest 的狀態。從 0 到 4 發生變化。

  • 0: 請求未初始化
  • 1: 服務器連接已建立
  • 2: 請求已接收
  • 3: 請求處理中
  • 4: 請求已完成,且響應已就緒

status:

200: "OK"

404: 未找到頁面

?

當 readyState 等于 4 且狀態為 200 時,表示響應已就緒:

xmlhttp.onreadystatechange=function(){if (xmlhttp.readyState==4 && xmlhttp.status==200){document.getElementById("myDiv").innerHTML=xmlhttp.responseText;}}

?

轉載于:https://www.cnblogs.com/ZQUACM-875180305/p/9598715.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388594.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388594.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388594.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux分辨率和用戶有關嗎,Linux系統在高分屏非正常分辨率顯示

問題描述:win10重裝為Ubuntu16.04,在1920x1080的顯示屏上,linux系統分辨率只有800x600xrandr # 查看當前顯示分辨率#輸出:[Screen 0: minimum 800 x 600, current 800 x 600, maximum 800 x 600]可以看出顯示屏最小為800x600&…

數據透視表和數據交叉表_數據透視表的數據提取

數據透視表和數據交叉表Consider the data of healthcare drugs as provided in the excel sheet. The concept of pivot tables in python allows you to extract the significance from a large detailed dataset. A pivot table helps in tracking only the required inform…

金融信息交換協議(FIX)v5.0

1. 什么是FIXFinancial Information eXchange(FIX)金融信息交換協議的制定是由多個致力于提升其相互間交易流程效率的金融機構和經紀商于1992年共同發起。這些企業把他們及他們的行業視為一個整體,認為能夠從對交易指示,交易指令及交易執行的高效電子數…

觀光公交

【問題描述】 風景迷人的小城 Y 市,擁有 n 個美麗的景點。由于慕名而來的游客越來越多,Y 市特意安排了一輛觀光公交車,為游客提供更便捷的交通服務。觀光公交車在第 0 分鐘出現在 1 號景點,隨后依次前往 2、3、4……n 號景點。從…

linux行命令測網速,Linux命令行測試網速的方法

最近給服務器調整了互聯網帶寬的限速策略,調到100M讓自己網站也爽一下。一般在windows上我喜歡用speedtest.net來測試,測速結果也被大家認可。在linux上speedtest.net提供了一個命令行工具speedtest-cli,用起來很方便,這里分享一下…

Delphi XE2獲取漢字拼音首字母

function CnPYIndex(const CnString: string): string;{ 返回中文的拼音首字母}const ChinaCode: array[0..25, 0..1] of Integer ((1601, 1636), (1637, 1832), (1833, 2077), (2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000), …

圖像處理傅里葉變換圖像變化_傅里葉變換和圖像床單視圖。

圖像處理傅里葉變換圖像變化What do Fourier Transforms do? What do the Fourier modes represent? Why are Fourier Transforms notoriously popular for data compression? These are the questions this article aims to address using an interesting analogy to repre…

HDUOJ 1062 TEXT REVERSE

#include<iostream> #include<stdlib.h> #include <iomanip> #include<stack> using namespace std;int main(){//次數int n 0;while (cin >> n) {//這里需要讀一個字符&#xff0c;需要消除換行符的影響getchar();while (n--) {char c;stack&l…

VC++的windows服務

項目建立&#xff1a; VS2008->ATL項目->服務exe 服務部署&#xff1a; 在VS2008中新建的ATL項目&#xff0c;在網上看到的流程中都會有注冊服務這一項。 但是對服務的注冊都是只給了一個指令&#xff0c;一句話帶過&#xff0c;沒有給出具體的操作步驟 經過多次試驗…

linux中gradle編譯慢,【Linux】解決linux下android studio用gradle構建從jcenter或maven下載依賴太慢...

一個簡單的辦法&#xff0c;修改項目根目錄下的build.gradle&#xff0c;將jcenter()或者mavenCentral()替換掉即可&#xff1a;allprojects {repositories {maven{ url http://maven.oschina.net/content/groups/public/}}}但如果你有很多個項目的話&#xff0c;一個一個的改估…

MFC程序需要的函數庫及頭文件--《深入淺出MFC》

Windows程序調用的函數可分為2部分&#xff1a;C Runtimes Windows API。 C Runtimes&#xff1a; LIBC.LIB -- C Runtime函數庫的靜態鏈接版本 MSVSRT.LIB--C Runtime庫的動態鏈接版本&#xff08;如果要鏈接這一函數&#xff0c;你的程序執行時必須有MSVCRT40.DLL在場&#…

C#DNS域名解析工具(DnsLookup)

C#DNS域名解析工具(DnsLookup) DNS域名解析工具&#xff1a;DnsLookup 輸入域名后點擊Resolve按鈕即可。 主要實現代碼如下&#xff1a; private void btnResolve_Click ( object sender, EventArgs e ) {lstIPs.Items.Clear ( ); //首先把結果里的ListBox清空 try {IPHostE…

python.day05

一 字典 定義:dict, 以{},表示.每一項用逗號隔開,內部元素用key:value的形式來保存數據.例如 {"jj":"林俊杰","jay:周杰倫"} 特點:查詢效率非常高,通過key來查找元素 內部使用key來計算一個內存地址(暫時),hash算法,key必須不可變的數據類型(ke…

滯后分析rstudio_使用RStudio進行A / B測試分析

滯后分析rstudioThe purpose of this article is to provide some guide on how to conduct analysis of a sample scenario A/B test results using R, evaluate the results and draw conclusions based on the analysis.本文的目的是提供一些指南&#xff0c;說明如何使用R對…

Linux程序實現彈框,jQuery實現彈出框 效果絕對美觀

使用到JQeury寫的幾個比較好的Popup DialogBox,覺得不錯。和大家分享下。使用它們結合.net可以實現很好的效果。1.jqpopup:是個可以拖拽,縮放并可以在它上面顯示html頁面上任何一個控件組合的控件。可以和后面的主頁面通信。使用方法:先調用這幾個js文件,可以自提供的下載地址下…

Interesting visualization tools for profiling.

Interesting visualization tools for profiling. http://dtrace.org/blogs/brendan/2012/03/17/linux-kernel-performance-flame-graphs/ http://dtrace.org/blogs/brendan/2013/07/01/detecting-outliers/

MySQL的事務-原子性

MySQL的事務處理具有ACID的特性&#xff0c;即原子性&#xff08;Atomicity)、一致性&#xff08;Consistency&#xff09;、隔離性&#xff08;Isolation&#xff09;和持久性&#xff08;Durability&#xff09;。 1. 原子性指的是事務中所有操作都是原子性的&#xff0c;要…

codeforces CF438D The Child and Sequence 線段樹

$ \Rightarrow $ 戳我進CF原題 D. The Child and Sequencetime limit per test: 4 secondsmemory limit per test: 256 megabytesinput: standard inputoutput: standard outputAt the childrens day, the child came to Pickss house, and messed his house up. Picks was ang…

大型網站架構演變

今天我們來談談一個網站一般是如何一步步來構建起系統架構的&#xff0c;雖然我們希望網站一開始就能有一個很好的架構&#xff0c;但馬克思告訴我們事物是在發展中不斷前進的&#xff0c;網站架構也是隨著業務的擴大、用戶的需求不斷完善的&#xff0c;下面是一個網站架構逐步…

linux的磁盤磁頭瓷片作用,Linux 磁盤管理

硬盤物理結構以下三張圖片都是磁盤的實物圖&#xff0c;一個磁盤是由多塊堆放的瓷片組成的&#xff0c;所以磁頭的結構也是堆疊的&#xff0c;他要對每一塊瓷片進行讀取&#xff0c;磁頭是可以在不同磁道(在瓷片的表現為不同直徑的同心圓&#xff0c;磁道間是有間隔的)之間移動…