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 contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Feb 04 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
Sep 15 Javascript
js输出数据精确到小数点后n位代码
Jul 02 Javascript
原生javascript 学习之js变量全面了解
Jul 14 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
Apr 10 Javascript
五步轻松实现JavaScript HTML时钟效果
Mar 25 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
Aug 12 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
Layui 导航默认展开和菜单栏选中高亮设置的方法
Sep 04 Javascript
vue解决花括号数据绑定不成功的问题
Oct 30 Javascript
关于vue利用postcss-pxtorem进行移动端适配的问题
Nov 20 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
Oct 18 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
javascript,php获取函数参数对象的代码
2011/02/03 PHP
php文件操作实例代码
2012/05/10 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
JS event使用方法详解
2008/04/28 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
jQuery实现仿QQ头像闪烁效果的文字闪动提示代码
2015/11/03 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
Jquery Easyui菜单组件Menu使用详解(15)
2016/12/18 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
Scala解析Json字符串的实例详解
2017/10/11 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
Bootstrap实现模态框效果
2019/09/30 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
实例解析Python设计模式编程之桥接模式的运用
2016/03/02 Python
详解python string类型 bytes类型 bytearray类型
2017/12/16 Python
学习Python3 Dlib19.7进行人脸面部识别
2018/01/24 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
小松树教学反思
2014/02/11 职场文书
信息技术培训感言
2014/03/06 职场文书
会计求职自荐信
2015/03/26 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书