全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

使用原生js写ajax实例(推荐)

实例如下:

// 使用原生js 封装ajax
// 兼容xhr对象
function createXHR(){
  if(typeof XMLHttpRequest != "undefined"){ // 非IE6浏览器
    return new XMLHttpRequest();
  }else if(typeof ActiveXObject != "undefined"){  // IE6浏览器
    var version = [
          "MSXML2.XMLHttp.6.0",
          "MSXML2.XMLHttp.3.0",
          "MSXML2.XMLHttp",
    ];
    for(var i = 0; i < version.length; i++){
      try{
        return new ActiveXObject(version[i]);
      }catch(e){
        //跳过
      }
    }
  }else{
    throw new Error("您的系统或浏览器不支持XHR对象!");
  }
}
// 转义字符
function params(data){
  var arr = [];
  for(var i in data){
    arr.push(encodeURIComponent(i) + "=" + encodeURIComponent(data[i]));
  }
  return arr.join("&");
}
// 封装ajax
function ga_ajax(obj){
  var xhr = createXHR();
  obj.url = obj.url + "?rand=" + Math.random(); // 清除缓存
  obj.data = params(obj.data);   // 转义字符串
  if(obj.method === "get"){   // 判断使用的是否是get方式发送
    obj.url += obj.url.indexOf("?") == "-1" ? "?" + obj.data : "&" + obj.data;
  }
  // 异步
  if(obj.async === true){
    // 异步的时候需要触发onreadystatechange事件
    xhr.onreadystatechange = function(){
      // 执行完成
      if(xhr.readyState == 4){
        callBack();
      }
    }
  }
  xhr.open(obj.method,obj.url,obj.async); // false是同步 true是异步 // "demo.php?rand="+Math.random()+"&name=ga&ga",
  if(obj.method === "post"){
    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xhr.send(obj.data);
  }else{
    xhr.send(null);
  }
  // xhr.abort(); // 取消异步请求
  // 同步
  if(obj.async === false){
    callBack();
  }
  // 返回数据
  function callBack(){
    // 判断是否返回正确
    if(xhr.status == 200){
      obj.success(xhr.responseText);
    }else{
      obj.Error("获取数据失败,错误代号为:"+xhr.status+"错误信息为:"+xhr.statusText);
    }
  }
}

var html = document.getElementsByTagName("html")[0];
html.onclick = function(){
  ga_ajax({
    "method" : "post",
    "url" : "demo.php",
    "data" : {
      "name" : "gao",
      "age" : 100,
      "num" : "12346&598"
    },
    "success" : function(data){
      alert(data);
    },
    "Error" : function(text){
      alert(text);
    },
    "async" : false
  });
}

以上这篇使用原生js写ajax实例(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# 原生js写ajax  # 原生js实现ajax方法(超简单)  # 原生JS简单实现ajax的方法示例  # 给大家  # 您的  # 希望能  # 不支持  # 这篇  # 错误信息  # 小编  # 跳过  # 大家多多  # 判断是否  # XMLHttp  # throw  # lt  # length  # catch  # join  # encodeURIComponent  # amp  # obj  # ga_ajax 


相关文章: 建站主机默认首页配置指南:核心功能与访问路径优化  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  C++时间戳转换成日期时间的步骤和示例代码    如何通过二级域名建站提升品牌影响力?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何高效配置香港服务器实现快速建站?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  Python路径拼接规范_跨平台处理说明【指导】  如何高效完成独享虚拟主机建站?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  孙琪峥织梦建站教程如何优化数据库安全?  网站设计制作企业有哪些,抖音官网主页怎么设置?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  Swift开发中switch语句值绑定模式  如何通过西部建站助手安装IIS服务器?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  建站之星如何助力网站排名飙升?揭秘高效技巧  如何访问已购建站主机并解决登录问题?  nginx修改上传文件大小限制的方法  如何在建站主机中优化服务器配置?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  如何挑选优质建站一级代理提升网站排名?  建站之星安装失败:服务器环境不兼容?  广州营销型建站服务商推荐:技术优势与SEO优化解析  无锡营销型网站制作公司,无锡网选车牌流程?  linux top下的 minerd 木马清除方法  如何快速生成橙子建站落地页链接?  网站制作网站,深圳做网站哪家比较好?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  宝塔面板如何快速创建新站点?  如何选择美橙互联多站合一建站方案?  如何撰写建站申请书?关键要点有哪些?  如何用VPS主机快速搭建个人网站?  视频网站制作教程,怎么样制作优酷网的小视频?  音乐网站服务器如何优化API响应速度?  如何规划企业建站流程的关键步骤?  网站制作需要会哪些技术,建立一个网站要花费多少?  制作网站的基本流程,设计网站的软件是什么?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  建站VPS配置与SEO优化指南:关键词排名提升策略  开心动漫网站制作软件下载,十分开心动画为何停播?  建站之星如何配置系统实现高效建站?  南京网站制作费用,南京远驱官方网站?  简单实现Android验证码  建站主机SSH密钥生成步骤及常见问题解答? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。