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 相关文章推荐
prototype 学习笔记整理
Jul 17 Javascript
JavaScript 滚轮事件使用说明
Mar 07 Javascript
js 判断checkbox是否选中的实现代码
Nov 23 Javascript
Jquery显示、隐藏元素以及添加删除样式
Aug 09 Javascript
Javascript控制div属性动态变化实例分析
Oct 08 Javascript
jQuery+CSS3实现点赞功能
Mar 13 Javascript
vue.js声明式渲染和条件与循环基础知识
Jul 31 Javascript
记录一篇关于redux-saga的基本使用过程
Aug 18 Javascript
JavaScript运行机制实例分析
Apr 11 Javascript
JavaScript字符和ASCII实现互相转换
Jun 03 Javascript
Vue中父子组件的值传递与方法传递
Sep 28 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
Nov 16 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
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
MAC下通过改apache配置文件切换php多版本的方法
2017/04/26 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
分享20款好玩的jQuery游戏
2011/04/17 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
Vue使用.sync 实现父子组件的双向绑定数据问题
2019/04/04 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
Python 3.x基于Xml数据的Http请求方法
2018/12/28 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python编写微信公众号首图思路详解
2019/12/13 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
基于python爬取链家二手房信息代码示例
2020/10/21 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
周鸿祎:教你写创业计划书
2013/12/30 职场文书
八年级英语教学反思
2014/01/09 职场文书
高中学生期末评语
2014/04/25 职场文书
企业党员一句话承诺
2014/05/30 职场文书
中考标语大全
2014/06/05 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
社会治安综合治理责任书
2015/01/29 职场文书
大明湖导游词
2015/02/03 职场文书
详解Django中 render() 函数的使用方法
2021/04/22 Python
利用Python判断整数是否是回文数的3种方法总结
2021/07/07 Python
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android
Mysql分库分表之后主键处理的几种方法
2022/02/15 MySQL