javascript原生ajax请求
1 class Ajax{ 2 3 constructor(url, method, data, callback_suc, callback_err, callback_run){ 4 this.RT = true;//默认为异步请求 5 this.url = url; 6 this.method = method || "POST"; 7 this.data = data || ""; 8 this.callback_suc = callback_suc || function () {}; 9 this.callback_err = callback_err || function () {}; 10 this.callback_run = callback_run || function () {}; 11 if(!this.url){this.callback_err(); return;} 12 this.createRequest(); 13 } 14 15 createRequest(){ 16 let xhr = new XMLHttpRequest(); 17 xhr.onreadystatechange = (e)=>{this.run(e);} 18 xhr.open(this.method, this.url, this.RT); 19 xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 20 xhr.send(this.data); 21 } 22 23 run(e){ 24 this.callback_run(e); 25 if(e.target.readyState !== 4 || e.target.status !== 200){return;} 26 this.callback_suc(e); 27 } 28 29 } 30 //调用: 31 new Ajax( 32 "./main.php", //url:请求地址 33 "POST", //method:请求方法 34 "data=3&sb=2",//data:传递数据 35 (e)=>{//callback_suc:请求完成 回调函数 36 document.write(e.target.responseText);//3 37 }, 38 (e)=>{},//callback_err:请求错误 回调函数 39 (e)=>{}//callback_run:请求中 回调函数 40 )
上面是js代码
下面以main.php为例接收请求
1 <?php 2 //接收客户端请求数据data和sb 3 $data = isset($_POST['data']) ? $_POST['data'] : "data为空"; 4 $sb = isset($_POST['sb']) ? $_POST['sb'] : "sb为空"; 5 //向客户端返回数据 6 echo $data." ".$sb; 7 ?>
分类:
javascript
, php
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义