本文實例講述了純js封裝的ajax功能函數與用法。分享給大家供大家參考,具體如下:
AJAX = Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)AJAX 不是新的編程語言,而是一種使用現有標準的新方法。是7種技術的綜合,它包含了七個技術(javascript xml xstl xhtml dom xmlhttprequest , css), ajax 是一個粘合劑。
直接上程序:
js調用部分:
<script src="ds.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript"><span style="white-space:pre;"> </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);//發生錯誤時,返回該狀態碼 } } }}
新聞熱點
疑難解答
圖片精選