首頁 web前端 js教程 ajax怎麼實現網路請求的封裝

ajax怎麼實現網路請求的封裝

Apr 04, 2018 am 10:18 AM
ajax 網路 請求

這次帶給大家ajax怎麼實現網路請求的封裝,ajax實現網路請求封裝的注意事項有哪些,下面就是實戰案例,一起來看一下。

實例程式碼:

// 封装的ajax网络请求函数
// obj 是一个对象
function AJAX(obj){
    //跨域请求
    if (obj.dataType == "jsonp") {
      //在这里 callback 必须是全局变量 保证函数消失的时候 这个变量不可以被销毁
      //处理一下函数名(防止多个网络请求 函数名字相同 出现紊乱的情况)
      var hehe = "callBack" + "_" + new Date().getTime() + "_" + String(Math.random()).replace(".","");
      window[hehe] = obj.success;
      //创建 script标签
      var sc = document.createElement("script");
      sc.src = obj.url + "?" + "cb=" + hehe;
      console.log(sc.src);
      document.body.appendChild(sc);
      document.body.removeChild(sc);
      return;
    }
 
 
//1、创建 ajax 对象
  var ajaxObj = null;
  if (window.XMLHttpRequest) {
    ajaxObj = new XMLHttpRequest();
  }else{
    ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
  }
  //设置请求的类型
  obj.type = obj.type.toUpperCase() || "GET";
  //如果是get请求 并且需要传递参数 则需要给 url 后面拼接参数
  if (obj.type == "GET") {
    var arr = [];//定义数组 用于把对象存储到数据里面
    for (var key in obj.data) {
      arr.push(key +"="+ obj.data[key]);
    }
    //用&分隔数组 让其转化为类似:name=lxl&age=18 的形式
    var str = arr.join("&");
    obj.url = obj.url +"?"+ str;
    //拨号
    ajaxObj.open(obj.type,obj.url,true);
    //发送"name=123&age=18"
    ajaxObj.send();
  }else{
    var arr = [];//定义数组 用于把对象存储到数据里面
    for (var key in obj.data) {
      arr.push(key +"="+ obj.data[key]);
      //console.log(arr);
    }
    //用&分隔数组 让其转化为类似:name=lxl&age=18 的形式
    var str = arr.join("&");
    //console.log(str);
    ajaxObj.open(obj.type,obj.url,true);
    ajaxObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ajaxObj.send(str);
  }
  //监听
  ajaxObj.onreadystatechange = function(){
    if (ajaxObj.readyState == 4) {
      if (ajaxObj.status >= 200 && ajaxObj.status < 300 || ajaxObj.status == 304) {
        //请求成功
        obj.success(ajaxObj.responseText);
      }else{
        //请求失败
        obj.error(ajaxObj.status);
      }
    }
  }
}
登入後複製

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

Ajax+Struts2怎麼實作使用者輸入驗證碼校驗功能

Ajax和JavaScript使用的區別

以上是ajax怎麼實現網路請求的封裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

WLAN擴充模組已停止[修復] WLAN擴充模組已停止[修復] Feb 19, 2024 pm 02:18 PM

如果您的Windows電腦上的WLAN擴充模組出現問題,可能會導致您與網際網路中斷連線。這種情況常常讓人感到困擾,但幸運的是,本文提供了一些簡單的建議,可以幫助您解決這個問題,讓您的無線連線重新正常運作。修復WLAN擴充模組已停止如果您的Windows電腦上的WLAN可擴充性模組已停止運作,請依照下列建議進行修復:執行網路和Internet故障排除程式停用並重新啟用無線網路連線重新啟動WLAN自動設定服務修改電源選項修改高級電源設定重新安裝網路適配器驅動程式運行一些網路命令現在,讓我們來詳細看

win10無法上網右下角顯示地球怎麼辦 win10網路成地球無法上網的多種解決方法 win10無法上網右下角顯示地球怎麼辦 win10網路成地球無法上網的多種解決方法 Feb 29, 2024 am 09:52 AM

這篇文章將介紹Win10系統網路顯示地球標誌但無法上網的解決方法。文章將提供詳細的操作步驟,幫助讀者解決Win10網路顯示地球無法上網的問題。方法一:直接重啟先檢查網路線是否沒插好,寬頻是否欠費,路由器或光貓可能會卡死,這時需重新啟動路由器或光貓。假如目前電腦沒有重要的事宜在操作,能直接重啟電腦,大部分的小問題能透過重新啟動電腦來快速解決。如果確定寬頻沒有欠費,網路正常,那便是另一回事。方法二:1、按【Win】鍵,或點選左下角的【開始選單】,在開啟的選單項目中,點選電源按鈕上方的齒輪狀圖標,這個就是【設

檢查網路連線:lol無法連接伺服器 檢查網路連線:lol無法連接伺服器 Feb 19, 2024 pm 12:10 PM

LOL無法連接伺服器請檢查網路近年來,網路遊戲已經成為了許多人的日常娛樂活動。其中,英雄聯盟(LOL)作為一款非常受歡迎的多人線上遊戲,吸引了億萬玩家的參與和愛好。然而,有時候我們在玩LOL的時候會遇到「無法連接伺服器請檢查網路」的錯誤提示,這無疑給玩家們帶來了一些困擾。接下來,我們將探討該錯誤的出現原因和解決方法。首先,LOL無法連接伺服器的問題可能是

網路連不上wifi怎麼回事 網路連不上wifi怎麼回事 Apr 03, 2024 pm 12:11 PM

1.檢查wifi密碼:確保自己輸入的wifi密碼是正確的,並注意區分大小寫。 2.確認wifi是否正常運作:檢查wifi路由器是否正常運作,可將其他裝置連接至相同路由器,以確定問題是否出在裝置上。 3.重新啟動設備和路由器:有時候,設備或路由器發生故障或網路問題,重新啟動設備和路由器可能會解決問題。 4.檢查設備設定:確保設備無線功能為開啟狀態,且未將wifi功能停用。

Windows 11 資料夾共用指南:輕鬆分享你的檔案和資料 Windows 11 資料夾共用指南:輕鬆分享你的檔案和資料 Mar 13, 2024 am 11:49 AM

在日常生活和工作中,我們經常需要在不同裝置之間共用檔案和資料夾。 Windows11系統提供了方便的內建資料夾共用功能,讓我們可以輕鬆地在同一網路內安全地與他人分享所需內容,同時保護個人檔案的隱私。這項功能使文件共享變得簡單而高效,不必擔心洩露私人資訊。透過Windows11系統的資料夾共享功能,我們可以更方便地進行合作、交流和協作,提高工作效率和生活便利性。為了順利配置共用資料夾,我們首先需要滿足以下條件:所有(參與共享的)設備都連接到同一個網路。啟用「網路發現」並配置好共享。知道目標設備中的

win10家用版公用網絡改為專用網絡 win10家用版公用網絡改為專用網絡 Feb 12, 2024 pm 10:27 PM

我們的電腦要想使用起來除了一些硬體以外還需要連接穩定的網絡,很多小伙伴們都發現了電腦中的網絡分為公用網絡和專用網絡,很多人都好奇到底怎麼將公用網絡轉換成專用網絡。 win10家庭版公用網路改為專用網路一、高級共享中心的進階設定1、首先我們直接按下win+R的快捷鍵組合召喚出運行彈窗,然後在這裡輸入“controlpanel”,點擊確定開啟控制面板。 2、然後我們依序選擇網路和lnternet--網路和共享中心--更改進階共享設定。 3、隨後我們在更高進階共享設定介面中找打專用選項點開,勾選其中的「啟用

解決jQuery AJAX請求遇到403錯誤的方法 解決jQuery AJAX請求遇到403錯誤的方法 Feb 20, 2024 am 10:07 AM

標題:解決jQueryAJAX請求出現403錯誤的方法及程式碼範例403錯誤是指伺服器禁止存取資源的請求,通常會導致出現這個錯誤的原因是請求缺少權限或被伺服器拒絕。在進行jQueryAJAX請求時,有時會遇到這種情況,本文將介紹如何解決這個問題,並提供程式碼範例。解決方法:檢查權限:首先要確保請求的URL位址是正確的,同時驗證是否有足夠的權限來存取該資

PHP 與 Ajax:建立一個自動完成建議引擎 PHP 與 Ajax:建立一個自動完成建議引擎 Jun 02, 2024 pm 08:39 PM

使用PHP和Ajax建置自動完成建議引擎:伺服器端腳本:處理Ajax請求並傳回建議(autocomplete.php)。客戶端腳本:發送Ajax請求並顯示建議(autocomplete.js)。實戰案例:在HTML頁面中包含腳本並指定search-input元素識別碼。

See all articles