原生js封裝ajax

来源:https://www.cnblogs.com/liveoutfun/archive/2018/04/12/8807427.html
-Advertisement-
Play Games

原生js封裝ajax ...


<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>AJAX</title>
</head>
<body>

<script type="text/javascript">
function Ajax(parameter){

var xhr=null;
var message=null;
var newurl=null;
var method=parameter.method=="post"?"post":"get";
var url=parameter.url;
var sync=parameter.sync==true?true:false;
var success=parameter.success;
var dataType=parameter.dataType;
//創建XML對象
if(window.XMLHttpRequest){
xhr=new XMLHttpRequest();//標準瀏覽器
}
else if(window.ActiveXObject){
xhr=new ActiveXObject("Microsoft.XMLHTTP");//IE
}

if(method=="post"){
message=url.substring(url.indexOf("?")+1,url.length);//獲取?之後的內容(不包括?)
newurl=url.substring(0,url.indexOf("?"));//獲取?之前的內容(不包括?)
xhr.open(method,newurl,sync);//準備發送請求(配置參數),還沒發送
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//post提交方式不像get提交方式是預設的,post方式你需要告訴瀏覽器你使用post提交方式,所以就需要這個請求頭
xhr.send(message);//發送請求
}

else if(method=="get"){
xhr.open(method,url,isNsychronous);
xhr.send(message);//這裡面的null 有的老版本瀏覽器得放一個null相容處理吧算是
}

xhr.onreadystatechange=function()
{
if(xhr.readyState==4){

if(xhr.status==200){
var data=dataType=='xml'?xhr.responseXML:xhr.responseText;
success &&success(data);//成功返回數據的時候調用這個函數
}
else{
alert("出錯了,帥氣喆");//失敗的時候也可以調用函數 看你需求啦
}
}
}

}

var parameter={
method:"post"
,url:"test.php?username=admin&password=1234",
sync:true,
success:function(data){
console.log(data);
},
dataType:"json"
};
Ajax(parameter);

</script>
</body>
</html>

 


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

-Advertisement-
Play Games
更多相關文章
  • 當界面元素靠下時候的時候,input輸入框會被系統的鍵盤遮擋。 我們可以讓界面向上移動一定距離去避免遮擋。 基於jquery寫的事件。 首先綁定觸發元素(input)框,scrollIntoView(alignWithTop) 屬性滾動瀏覽器視窗或容器元素,以便在當前視窗的可見範圍看見當前元素。 c ...
  • 我們在學習一種新事物的時候,總是知其然,而不知其所然。有些人會探究到底,有一些人會得過且過。 好了,開場白結束,直接進入正題。 js不像C語言那樣只要編譯一次之後成.exe文件之後就不用在編譯可以直接使用了,js是一種解釋型語言,就像你出國旅游,有一個人為你翻譯別人的 話一樣,別人說一句,你的翻譯就 ...
  • 01.表格主要有以下部分: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 </head> 6 <body> 7 <!--table:表格標簽--> 8 <table> 9 <!--caption:表格標題--> 10 <caption ...
  • 1.PHP判斷 封裝。php代碼: 調用示例:直接調用 2.官方js判斷 3.js判斷 轉載自 判斷當前頁面是否在微信瀏覽器中打開 ...
  • html: html的骨架: <!DOCTYPE html> <html> <!--head標簽:文檔的頭部--> <head> <!--title標簽:文檔的標題--> <title></title> </head> <!--body標簽:文檔的主體--> <body> </body> </htm ...
  • js 列印 大家好,有陣子沒有寫過博客了,這次在寫項目的過程中遇到了印表機的需求,因為之前寫js是沒有對印表機有更深的瞭解,所以在寫項目的過程中根據需求的不同也遇到了坑。 首先 對於列印由於我之前沒有接觸到所以一開始我去jq22這個網站上找到了一個插件,本以為使用插件的時候可以順理成章的完成這個需求 ...
  • 項目中未讀消息列表,點擊讀取再返回後,仍然顯示未讀。 onpageshow 事件在用戶瀏覽網頁時觸發。 onpageshow 事件類似於 onload 事件,onload 事件在頁面第一次載入時觸發, onpageshow 事件在每次載入頁面時觸發,即 onload 事件在頁面從瀏覽器緩存中讀取時不 ...
  • function a() { var arr = new Array(1000000); for(var i = 0; i < arr.length;i ++) { arr[i] = i; } var start1 = new Date().getTime(); for(var i = 0; i < ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...