這篇文章主要介紹了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;?>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。
新聞熱點
疑難解答
圖片精選