js中的Ajax總結.

来源:http://www.cnblogs.com/Duansb/archive/2016/02/28/5224001.html
-Advertisement-
Play Games

一.ajax的作用: 1.就是讓js去讀伺服器上面的數據. 2.無刷新的情況下讀取伺服器上面的數據,例如:驗證賬號和密碼是否正確等. (1)ajax的優點: 1.減少冗餘請求和響應對服務造成的負擔. 2.無刷新更新頁面,帶來更好的用戶體驗. 3.減輕伺服器速寫的負擔,節約空間和寬頻租用成本。 4.採


一.ajax的作用:

    1.就是讓js去讀伺服器上面的數據.

    2.無刷新的情況下讀取伺服器上面的數據,例如:驗證賬號和密碼是否正確等.

   (1)ajax的優點:

    1.減少冗餘請求和響應對服務造成的負擔.

    2.無刷新更新頁面,帶來更好的用戶體驗.

    3.減輕伺服器速寫的負擔,節約空間和寬頻租用成本。

    4.採用非同步提交,讀寫速度更快.

   (2)ajax的缺點

   1.AJAX大量的使用了javascript和ajax引擎,這些取決於瀏覽器的支持.在編寫的時候考慮對瀏覽器的相容性

   2. AJAX只是局部刷新,所以頁面的後退按鈕是沒有用的.

   3. 對流媒體還有移動設備的支持不是太好等.

二. Get 和Post的區別:

     get方式:常見的表單提交方式:將值在url後面提交;?名字=值&名字=值格.

      提交表單例子:

     <form  action="www.baidu.com " method="get" (預設是get方式)>

      姓名:<input type="text" name="userName"></br>

      密碼:<input type="password" name="password">

     <input type="submit" value="提交">

      </from>

     區別: 

     1.get方式是通過網址進行傳遞數據的,post是通過http中Content進行傳遞的.

     2.get容量小,不適合傳遞大數據,(一般4k-10k),post方式容量相對大很多,一般伺服器可以達到2G容量.

     3.對於太大的文件,就不會走post,走控制項.

     4.get方式安全性差,post相對來說會好一點,一幫安全只能走https.

     5.get方式是有緩存的,post沒有緩存. get更適合向伺服器獲取數據,post更適合向伺服器傳遞數據,

三:編寫一個Ajax:

   1.創建一個ajax對象, 2.鏈接到伺服器, 3.發送請求 , 4.接收返回值,

   (1)  創建一個ajax對象

         var  oAjax  = new  XMLHttpRequest()//不支持IE6

          var  oAjax  = new  ActiveXObject ("microsoft.XMLHTTP");//支持IE6

     解決相容性:

            if(window.XMLHttpRequest)

             {

             var  oAjax   = new XMLHttpRequest();

              }else{

              var  oAjax   = new  ActivexObject("Microsoft.XMLHTTP"):

               }

         為什麼要用window.XMLHttpRequest作為參數,應為直接XMLHttpRequest做條件,IE6會直接報錯,

         但是把XMLHttpRequest作為屬性,IE只會報undefined剛好滿足我們的條件.

     (2)鏈接伺服器

      oAjax.open('Get',url,true)

      同步:一步步來.

      非同步:多件事一起來.

    (3)發送請求

      oAjax.send();

    (4)接受返回

       oAjax.onreadystatechange = function()

      { 

                 //瀏覽器和伺服器進行到哪一步了.

           if(oAjax.readyState==4)//讀取完成

            { 

                 if(oAjax.status==200)//讀取成功

                 {

                       fnSuccess(oAjax.responseText)

                 }else

                     if( fnfaild)

                      {

                         fnfaild(oAjax.status);

                       }

                        

                 }

             } 

      }

    

           readystatus                         描述
0    (未初始化)還沒有調用open()方法
1    (載入)一調用send()方法,怎在發送請求
2   (載入完成)send()方法完成,已收到全部響應內容
3    (解析)正在解析響應內容
4    (完成)響應內容解析完成,可以客戶調用了

        同步請求:發生請求後,要等待伺服器執行完畢才繼續執行當前代碼。

        非同步請求:發生請求後,無需等到伺服器執行完畢,可以繼續執行當前代碼。  

 

    

   

    


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文概述了TypeScript中如何使用模塊以各種方式來組織代碼。我們將涵括內部和外部的模塊,並且討論他們在適合在何時使用和怎麼使用。我們也會學習一些如何使用外部模塊的高級技巧,並且解決一些當我們使用TypeScript的模塊時遇到的陷阱。 案例的基礎 接下來開始寫程式,我們將會在這裡寫上使用案例。
  • 在文章初識js中的閉包中講解了閉包的一些概念,但是對於初學者來說可能並不是特別的容易理解,我今天用兩個案例來解釋閉包可能會好理解一些,在講案例之前,我們需要瞭解一些閉包的概念。在看這篇文章之前,請先看上面的那篇文章,不然效果不會太好。 閉包的理解: 所謂的閉包就是可以創建一個獨立的環境,每個閉包裡面
  • 1.字元串類型即String類型 它的值為字元串:由數字,字母,下劃線組成的一串字元 S=“sdf”它就是一個字元串,字元串一般加上雙引號,不加雙引號一般認為是非字元串類型 2.數字類型,即Number類型 數字可以輸入十進位,十六進位,八進位 3.布爾類型即Boolean類型 值為true或者fa
  • 本文主要介紹 AMR(Aduio) 播放 AMR 格式 Base64碼 音頻。 1、必備資料 github AMR 開源庫 :https://github.com/jpemartins/amr.js 用心把這個項目看一遍,對於我下麵說的話,可以忽略啦,代碼是最好的文章,哈哈~~ 2、核心 JS 庫
  • 最近甚是苦悶,屬於邊學邊做,跳進了很多坑,別提有多慘了,不過結果還是不錯滴,縱觀前後,一句話足以概括 “痛並快樂著” ~~~ ok,我少說廢話,下麵來總結下 Web 播放聲音一些註意事項。 說到 Web 我第一件事想起的就是瀏覽器相容性,播放聲音當然也難逃苦海,需要註意以 Trident 為內核 (
  • 本文主要介紹 Flash 播放 AMR 格式 Base64碼 音頻。 在此之前麽有接觸過 Flash ,接觸 AS3 是一頭霧水,不過幸好有 TypeScript 和 JavaScript 的基礎看起來不是很費勁,現學現賣的就是開了 ”跳坑“ 之旅~~~ 1、實現思路 起初一點實現思路都木有,不知道
  • HTML4.01 超文本標記語言,1999年12月24日由W3C組織發佈。 XHTML 擴展的超文本標記語言(eXtensible Hyper Text Markup Language),和HTML4.01具有良好的相容性,並且更加嚴格、純凈。XHTML要求HTML文檔首先必須是一份XML文檔。整個
  • 對css sprites通過例子進行了闡述
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...