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 相关文章推荐
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
jQuery 隐藏和显示 input 默认值示例
Jun 03 Javascript
JavaScript实现的in_array函数
Aug 27 Javascript
jQuery遍历json中多个map的方法
Feb 12 Javascript
获取阴历(农历)和当前日期的js代码
Feb 15 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
Jun 21 Javascript
JS实现重新加载当前页面
Nov 29 Javascript
AngularJS表单提交实例详解
Feb 18 Javascript
详解Layer弹出层样式
Aug 21 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 Javascript
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
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 变量定义和变量替换的方法
2009/07/30 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
PHP统计数值数组中出现频率最多的10个数字的方法
2015/04/20 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
2014/06/24 Javascript
点击button获取text内容并改变样式的js实现
2014/09/09 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
非常实用的vue导航钩子
2017/03/20 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
web前端开发中常见的多列布局解决方案整理(一定要看)
2017/10/15 Javascript
分享5个好用的javascript文件上传插件
2018/09/16 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
Python中的各种装饰器详解
2015/04/11 Python
python开发之文件操作用法实例
2015/11/13 Python
bat和python批量重命名文件的实现代码
2016/05/19 Python
Python实现的维尼吉亚密码算法示例
2018/04/12 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
python爬取本站电子书信息并入库的实现代码
2020/01/20 Python
电厂厂长岗位职责
2014/01/02 职场文书
销售总经理岗位职责
2014/03/15 职场文书
企业2014年度工作总结
2014/12/10 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
pandas取dataframe特定行列的实现方法
2021/05/24 Python
使用springMVC所需要的pom配置
2021/09/15 Java/Android
i7 6700处理器相当于i5几代
2022/04/19 数码科技