您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關使用JavaScript怎么封裝一個ajax功能函數,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
js調用部分:
<script src="ds.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> <span > </span>window.onload=function(){ var oDs=document.getElementById('ds'); var oText=document.getElementById('text'); oDs.onclick=function(){ //第一個參數:數據傳輸方式 get post //第二個參數:調用文件的路徑 //第三個參數:data //第四個參數:回調函數 ajax('GET','aa.txt','',function(str){ //此處是調用名字為aa的txt文件里所有的內容(str),所以data直接為'' //如果需要插入特定參數,則data值為 data='&name='+oText.value; console.log(str);//名字為aa的txt文件里所有的內容 }); } } </script>
html部分:
<input type="button" name="ds" id="ds" value="彈出" /> <input type="text" value="" id="text"/>
ajax封裝部分:
function ajax(method, url, data, fnsuccess) { var xhr; //1.創建對象,兼容問題 if(window.XMLHttpRequest) { //在高版本的瀏覽器 IE7+ xhr = new XMLHttpRequest(); //XMLHttpRequest用于在后臺與服務器交換數據。這意味著可以在不重新加載整個網頁的情況下,對網頁的某部分進行更新。 } else { //IE5 IE6 xhr = new ActiveXObject(); } //2.發送請求 //第一個參數:數據傳輸方式 get post //第二個參數:處理文件 xx.php xx.txt ,要數據:直接寫路徑就好;提交數據:在地址那里寫數據(get方式) //第三個參數:同步或者異步方式,默認是異步true //open //get模式路徑上同時加入需要傳輸的內容 if(method == 'GET' && data) { url = url + '?' + data; } xhr.open(method, url, true); //send //send()如果是get方式,寫null或者為空; //如果是post,參數那就直接寫要傳輸的內容 if(method == 'GET') { xhr.send(null); } else { //創建頭文件信息 xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send(data); } //4.接受php傳過來的數據,解析 dom操作 xhr.onreadystatechange = function() { if(xhr.readyState == 4) {//響應過程狀態信息,4代表發送完成,順利返回信息 if(xhr.status == 200) {//status:狀態碼,如果返回的信息是200 fnsuccess && fnsuccess(xhr.responseText); } else { alert(xhr.status);//發生錯誤時,返回該狀態碼 } } } }
表單驗證,用戶名驗證:
<form action="checkName.php" method="post"> <!--span標簽是用于提示,用戶名重復,以及可以注冊--> 用戶名:<input type="text" id="username" /><span id="inf"></span><br /> 密碼:<input type="password" /><br /> <input type="button" id="submit" value="提交" /> </form>
js調用部分:
<script src="ds.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> window.onload = function() { var oUsername = document.getElementById('username'); var oInf = document.getElementById('inf'); oUsername.onkeyup = function() { var data='&name=' + oUsername.value; //路徑連接的是php文件 ajax('GET','/0322/test/checkName.php',data,function(str){ oInf.innerHTML=str; }); } } </script>
php部分:
<?php // echo 輸出 // echo 'qwerrtty'; //3.獲取ajax傳來的信息,做處理,在返回給ajax:后臺做或者后臺協作。 //這里兩句話很重要,第一講話告訴瀏覽器返回的數據是xml格式 header("Content-Type: text/xml;charset=utf-8"); //告訴瀏覽器不要緩存數據 header("Cache-Control: no-cache"); //返回xml txt json html $userName=$_GET['name']; if($userName=='admin'){//把內容拿到,進行判斷 echo '<result><mes>該用戶名重復了</mes></result>'; }else{ echo '<result><mes>該用戶名可以注冊</mes></result>'; } ?>
以上就是使用JavaScript怎么封裝一個ajax功能函數,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。