如何在JS中使用AJAX技術

      網友投稿 875 2025-04-02

      Ajax是一個特別特別重要的技術,獲取數據,局部刷新,都得用它!


      Ajax是什么呢:Asynchronous javaScript And XML(異步的 javaScript 和 XML)。

      注意啦,Ajax不是某種編程語言,只是一種在無需重新加載整個網頁的情況下能夠更新部分網頁的技術。

      那么如何實現Ajax技術?

      1、運用HTML和CSS來實現頁面,表達信息;

      2、運用XMLHttpRequest和web服務器進行數據的異步交換;

      3、運用JavaScript操作DOM,實現動態局部刷新。

      在學習怎樣使用Ajax技術之前,得先了解下http請求

      什么是HTTP?http是計算機通過網絡進行通信的規則。

      HTTP是一種無狀態的協議(無狀態協議指的是瀏覽器與服務器不建立持久的連接)。

      一個完整的http請求過程,通常有下面7個步驟:

      1、建立TCP連接

      2、web瀏覽器向web服務器發送請求命令

      3、web瀏覽器發送請求頭信息

      4、web服務器應答

      5、web服務器發送應答頭信息

      6、web服務器向瀏覽器發送數據

      7、web服務器關閉TCP連接

      如何在JS中使用AJAX技術

      一個HTTP請求一般由四部分組成:

      1、HTTP請求的方法或動作,比如是GET還是POST請求

      2、正在請求的URL,總得知道請求的地址是什么吧

      3、請求頭,包含一些客戶端環境信息,身份驗證信息等

      4、請求體,也就是請求正文,請求正文中可以包含客戶提交的查詢字符串信息,表單信息等等

      我們以百度首頁的HTTP請求當實例來看看:

      看上圖中,我標注出來的,就是一般情況下,我們做請求需要注意的地方。

      請求地址,很好理解,就是我們發起請求的url。

      請求方式有兩種:

      GET:一般用于信息獲取

      使用URL傳遞參數

      對所發送的信息數量也有限制,一般在2000個字符

      POST:一般用于修改服務器上的資源

      對所發送的信息數量無限制

      HTTP狀態碼一般由3位數字構成,其中首位數字定義了狀態碼的類型:

      1XX 信息類,表示收到web瀏覽器請求,正在進一步處理中

      2XX 成功,表示用戶請求被正確接收,理解和處理,例如200 OK

      3XX 重定向,表示請求沒有成功,客戶必須采取進一步的動作

      4XX 客戶端錯誤,表示客戶端提交的請求有錯誤,例如404 NOT Found,意味著請求中所引用的文檔不存在

      5XX 服務器錯誤,表示服務器不能完成對請求的處理,例如500

      再就是請求參數,這里需要注意,參數名稱,格式等不要弄錯了。

      以上是請求圖解,下面我們看下響應是啥樣的:

      一個HTTP響應一般由三部分組成

      1、一個數字和文字組成的狀態碼,用來顯示請求是成功還是失敗

      2、響應頭,響應頭和請求頭一樣包含許多有用的信息,例如服務器類型,日期時間,內容類型和長度等

      3、響應體,也就是響應正文

      一個典型的響應內容如下:

      截圖內容,就是完成請求后,接口返回的數據內容也就是響應正文啦。

      下面我們看一下,創建一條Ajax的請求的具體流程是什么樣的呢?

      第一步:創建XMLHttpRequest對象:

      var request = new XMLHttpRequest();

      如何兼容IE5、IE6甚至更早的版本?

      第二步:XMLHttpRequest發送請求

      open(method,url,async)

      method:get/post 不區分大小寫

      url:請求地址

      async:同步或者異步,true為異步處理,false為同步請求,一般默認為異步請求

      send(string)

      一般get不填參數,post要填參數

      第三步:XMLHttpRequest取得響應

      獲取響應值:

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

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

      status和statusText:以數字和文本形式返回HTTP狀態碼

      getAllResponseHeader():獲取所有的響應報頭

      getResponseHeader():查詢響應中的某個字段的值

      在響應返回成功時得到通知:

      readyState屬性:

      0:請求未初始化,open還沒有調用

      1:服務器連接已建立,open已經調用了

      2:請求已接收,也就是接收到頭信息了

      3:請求處理中,也就是接收到響應主體了

      4:請求已完成,且響應已就緒,也就是響應完成了

      如果我們想知道服務器響應有沒有成功,就需要監聽以上的屬性值變化

      監聽方法:

      具體的請求過程代碼示例如下(一個搜索請求,一個保存請求):

      HTTP Ajax

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel創建表格數據模版的方法
      下一篇:excel如何設置保護工作表
      相關文章
      亚洲一区二区三区四区在线观看| 精品亚洲成α人无码成α在线观看 | 在线观看亚洲专区| 亚洲色大情网站www| 亚洲一区二区三区不卡在线播放| 亚洲第一网站免费视频| 久久久无码精品亚洲日韩蜜臀浪潮 | 国产精品久久久久久亚洲小说| 亚洲s码欧洲m码吹潮| 亚洲av无码专区在线电影| 中文字幕亚洲精品无码| 亚洲最大中文字幕无码网站| 亚洲色无码专区一区| 亚洲国产精品日韩av不卡在线| 亚洲色欲色欲www在线播放| 亚洲免费综合色在线视频| 久久水蜜桃亚洲AV无码精品| 天堂亚洲免费视频| 亚洲精品WWW久久久久久| 久久影视国产亚洲| 亚洲狠狠婷婷综合久久久久 | 亚洲第一区香蕉_国产a| 亚洲高清无在码在线无弹窗 | 亚洲国产婷婷香蕉久久久久久| 久久国产成人亚洲精品影院| 亚洲精品无码专区久久久| 国产亚洲综合久久系列| 亚洲AV无码精品色午夜果冻不卡| 久久91亚洲精品中文字幕| 91久久亚洲国产成人精品性色| 亚洲国产美女视频| 亚洲人AV在线无码影院观看| 国产精品亚洲综合网站| 国产成人亚洲综合无码| 亚洲精品国产精品乱码不99 | mm1313亚洲国产精品无码试看 | 亚洲国产成人精品无码区在线网站| 亚洲偷自精品三十六区| 亚洲AV无码专区在线观看成人| 亚洲国产成人精品无码久久久久久综合 | 成人亚洲国产精品久久|