Javascript原生ajax请求代码实例


Posted in Javascript onFebruary 20, 2020

这篇文章主要介绍了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;
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 避免闭包引发的问题
Mar 17 Javascript
Jquery作者John Resig自己封装的javascript 常用函数
Nov 09 Javascript
js实现的日期操作类DateTime函数代码
Mar 16 Javascript
Array.prototype.concat不是通用方法反驳[译]
Sep 20 Javascript
div失去焦点事件实现思路
Apr 22 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
Sep 06 Javascript
jQuery实现数字加减效果汇总
Dec 16 Javascript
jQuery实现的左右移动焦点图效果
Jan 14 Javascript
JavaScript监听手机物理返回键的两种解决方法
Aug 14 Javascript
React Native日期时间选择组件的示例代码
Apr 27 Javascript
layui使用表格渲染获取行数据的例子
Sep 13 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
Mar 06 Javascript
webpack中的模式(mode)使用详解
Feb 20 #Javascript
jquery向后台提交数组的代码分析
Feb 20 #jQuery
koa-passport实现本地验证的方法示例
Feb 20 #Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
Feb 20 #Javascript
一篇文章带你浅入webpack的DLL优化打包
Feb 20 #Javascript
浅析JS中NEW的实现原理及重写
Feb 20 #Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 #Javascript
You might like
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
php单件模式结合命令链模式使用说明
2008/09/07 PHP
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
ThinkPHP3.2.3实现分页的方法详解
2016/06/03 PHP
js传值 判断
2006/10/26 Javascript
jQuery 浮动广告实现代码
2008/12/25 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
深入了解javascript 数组的sort方法
2018/06/01 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
Python语言快速上手学习方法
2018/12/14 Python
python使用装饰器作日志处理的方法
2019/07/11 Python
Golang GBK转UTF-8的例子
2019/08/26 Python
Python属性和内建属性实例解析
2020/01/14 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
Python logging模块进行封装实现原理解析
2020/08/07 Python
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
机关门卫制度
2014/02/01 职场文书
五月的鲜花活动方案
2014/08/21 职场文书
学前教育专业求职信
2014/09/02 职场文书
基层党组织整改方案
2014/10/25 职场文书
2016春季幼儿园大班开学寄语
2015/12/03 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
python实现手机推送 代码也就10行左右
2022/04/12 Python