這篇文章主要介紹了Javascript原生ajax請求代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
代碼如下
class Ajax{
constructor(url, method, data, callback_suc, callback_err, callback_run){
this.RT = true;//默認為異步請求
this.url = url;
this.method = method || "POST";
this.data = data || "";
this.callback_suc = callback_suc || function () {};
this.callback_err = callback_err || function () {};
this.callback_run = callback_run || function () {};
if(!this.url){this.callback_err(); return;}
this.createRequest();
}
createRequest(){
let xhr = new XMLHttpRequest();
xhr.onreadystatechange = (e)=>{this.run(e);}
xhr.open(this.method, this.url, this.RT);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(this.data);
}
run(e){
this.callback_run(e);
if(e.target.readyState !== 4 || e.target.status !== 200){return;}
this.callback_suc(e);
}
}
//調用:
new Ajax(
"./main.php", //url:請求地址
"POST", //method:請求方法
"data=3&sb=2",//data:傳遞數據
(e)=>{//callback_suc:請求完成 回調函數
document.write(e.target.responseText);//3
},
(e)=>{},//callback_err:請求錯誤 回調函數
(e)=>{}//callback_run:請求中 回調函數
)
上面是js代碼
下面以main.php為例接收請求
<?php //接收客戶端請求數據data和sb $data = isset($_POST['data']) ? $_POST['data'] : "data為空"; $sb = isset($_POST['sb']) ? $_POST['sb'] : "sb為空"; //向客戶端返回數據 echo $data." ".$sb; ?>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。