当前位置: 首页 > news >正文

java原生封装_[Java教程]原生AJAX封装

[Java教程]原生AJAX封装

0 2016-07-12 13:00:08

回归下原生js,网上看到的AJAX封装,遂拿来改改,不知还有何弊端,望指出!1 var ajaxHelper = { 2 /*1.0 浏览器兼容的方式创建异步对象*/ 3 makeXHR: function () { 4 //声明异步对象变量 5 var false; 6 //声明 扩展 名 7 var ]; 8 //判断浏览器是否支持 9 if (window.10 new 11 }12 //否则,只能循环遍历老式浏览器异步对象名,尝试创建,知道创建成功为止13 else if (window.ActiveXObject) {14 for (i = 0; i < ) {15 new ActiveXObject(16 if (17 break;18 }19 }20 }21 //判断 异步对象 是否创建 成功,如果 成功,则返回异步对象,否则返回false22 return false;23 },24 /*2.0 发送Ajax请求*/25 doAjax: function (method, url, data, isAyn, callback, type) {26 method = method.toLowerCase();27 //2.1创建异步对象28 var xhr = this.makeXHR();29 //2.2设置请求参数(如果是get,则带url参数,如果不是,则不带)30 xhr.open(method, url + (method == "get" ? "?" + data : ""), isAyn);31 //2.3根据请求谓词(get/post),添加不同的请求头32 if (method == "get") {33 xhr.setRequestHeader("If-Modified-Since", 0);34 } else {35 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");36 }37 //2.4设置回调函数38 xhr.onreadystatechange = function () {39 //如果接受完毕 服务器发回的 响应报文40 if (xhr.readyState == 4) {41 //判断状态码是否正常42 if (xhr.status == 200) {43 if (type.toLowerCase() == "json") {44 var ret = {};45 try {46 if (JSON) {47 ret = JSON.parse(xhr.responseText);48 } else {49 //IE8以下不支持JSON50 ret = new Function("return " + xhr.responseText);51 }52 callback(ret);53 } catch (e) {54 console.log(e.message);55 callback(false);56 }57 } else {58 //直接返回文本59 callback(xhr.responseText);60 }61 } else {62 console.log("AJAX Status Code:" + xhr.status);63 callback(false);64 }65 }66 };67 //2.5发送(如果是post,则传参数,否则不传)68 xhr.send(method != "get" ? data : null);69 },70 /*3.0 直接发送Post请求*/71 doPost: function (url, data, isAyn, callback, type) {72 this.doAjax("post", url, data, isAyn, callback, type);73 },74 /*4.0 直接发送Get请求*/75 doGet: function (url, data, isAyn, callback, type) {76 this.doAjax("get", url, data, isAyn, callback, type);77 }78 };

假设一个需求,后端要求传入两个数字n1、n2,然后返回总和。

当其中一个参数为空或者不是数字时,返回:{"status":"0", "msg":"参数有误!"}

当正确的时候,返回:{"status":"1", "sum":"//n1加n2的和"}

后端的代码就不贴出来了。

前端调用:1 document.getElementById("btnSubmit").onclick = function () { 2 ajaxHelper.doPost("后端url", "n1=10&n2=25", true, function (ret) { 3 if (!ret) { return; } 4 if (ret.status != 1) { 5 alert(ret.msg); 6 return; 7 } 8 var n = ret.sum; 9 var s = ret.status;10 }, "json");11 };

本文网址:http://www.shaoqun.com/a/239114.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

ajax

0


http://www.taodudu.cc/news/show-647748.html

相关文章:

  • 【physx/wasm】在physx中添加自定义接口并重新编译wasm
  • excel---常用操作
  • Lora训练Windows[笔记]
  • linux基础指令讲解(ls、pwd、cd、touch、mkdir)
  • InnoDB 事务处理机制
  • 启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS
  • java max sum_杭电1024 Max Sum Plus Plus状压dp(java)
  • java主线程控制子线程_CountDownLatch控制主线程等子线程执行完--Java多线程
  • mysql数据库事件不执行_如何查看mysql事件是否执行
  • 我的世界1.7.10java下载安装_我的世界1.7.10正式版
  • java编写单词数_JAVA flink小试——单词计数
  • bbs mysql_简单BBS程序(需MySQL支持)
  • java oom分析_OOM分析
  • anaconda怎么使用python包_Anaconda中python包的介绍与使用方法
  • php抓取运动步数,使用PHP抓取微博数据
  • php 网页截屏,怎么用PHP实现网页截图
  • thread php,php中关于线程thread的使用
  • cmf php,cmf公共函数解析-common.php
  • php 实现时时更新地图,PHP实现隔15分钟自动更新网站地图功能
  • php中显示不出图像,php – 无法显示图像,因为它包含错误
  • java后台日期怎么去重,JAVA后台业务实现去重
  • php stripos 返回值,php函数stripos详解
  • java中gc的认识,java JVM GC 笔记(个人对GC 或JVM 的了解)
  • java libpcap,Linux下编译安装libpcap
  • 网页实现人脸识别PHP,奇思妙想-用HTML5进行人脸识别
  • 文件包含漏洞不能包含php,ThinkPHP5漏洞分析之文件包含
  • php对应哪个oracle版本,Oracle 版本说明
  • php 主页子标题修改,关于有部分用户默认PC主页大标题标签修改无效的答疑.
  • 基于matlab的智能天线波束方向图仿真,基于MATLAB的智能天线波束方向图仿真
  • python中xlwt的局限,Python xlwt 生成Excel和设置特定单元格不可编辑
  • angularjs 导出excel php,AngularJS 导出Excel指令
  • php 连续点击事件,javascript设置连续两次点击按钮时间间隔的方法_javascript技巧...
  • oracle10g数据库热备份,Oracle10g数据库冷备份脚本文件
  • Oracle创建序列的sql语句,【Oracle学习】之 序列(Sequence)
  • cssd拉起oracle,oracle rac /etc/init.d/init.cssd startcheck
  • oracle dg状态查询,oracle dg状态检查及相关命令