zoukankan      html  css  js  c++  java
  • ajax的封装

      ajax是前端工程中与后台进行数据交互的一门重要技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。jquery中对ajax进行了封装,可以直接使用.下面是自己封装的一个ajax的js文件,感兴趣的朋友可以下载使用,

      以下封装的ajax代码,可以帮助大家了解ajax的整个操作过程,告诉大家ajax是如何进行交互的.

      

    function AJAX(obj) { //做网络请求的时候 ,参数以对象的形式传递进来
      //规定:obj里面包含属性:1.url
      //2.type --- get 还是 post
      //3.data --- 前端给后端传递的参数(前端传递的时候以对象的形式)
      //4.回调函数 --- success
      //5.回调函数 --- error


      var ajaxObj = null;
      if (window.XMLHttpRequest) {
        ajaxObj = new XMLHttpRequest();
      } else {
        ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");
      }
     ajaxObj.onreadystatechange = function() {
      if (ajaxObj.readyState == 4) {
        if (ajaxObj.status >= 200 && ajaxObj.status < 300 || ajaxObj.status == 304) {
          if (obj.success) {
            obj.success(JSON.parse(ajaxObj.responseText));
          } else {
            alert("您忘记了success函数");
          }
        } else {
          if (obj.error) {
            obj.error(ajaxObj.status);
          } else {
            alert("您忘记了error函数");
          }
        }
      }
    }
    //type转化为小写,方便使用
      var type = obj.type || "get";
      var type = type.toLowerCase();
      //判断是否传递了参数
      var params = "";
      if (obj.data) {
        for (var key in obj.data) {
        params += (key + "=" + obj.data[key] + "&");
        }
        params = params.slice(0, params.length - 1);
      }

      if (type == "get") {
        ajaxObj.open(type, obj.url + "?" + params, true);
        ajaxObj.send();
      } else {
        ajaxObj.open(type, obj.url, true);
        ajaxObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        ajaxObj.send(params);
      }

    }

    //欢迎大家提出改进建议 

  • 相关阅读:
    在IIS7.5中ASP.NET调用cmd程序拒绝访问决绝方法小记
    WindowsCE project missing Microsoft.CompactFramework.CSharp.targets in Visual Studio 2008
    Windows 10预览版14316开启Bash命令支持
    批量文件重命名工具
    多说使用ua-parser-js显示浏览器和系统信息
    Hexo主题实现多级分类显示
    MS SQL Server 数据库分离-SQL语句
    Windows应用程序快捷方式创建工具
    第三方登录插件.NET版XY.OAuth-CSharp
    Microsoft Visual Studio 2008 未能正确加载包“Visual Web Developer HTML Source Editor Package” | “Visual Studio HTM Editor Package”
  • 原文地址:https://www.cnblogs.com/sunweinan/p/ajax.html
Copyright © 2011-2022 走看看