zoukankan      html  css  js  c++  java
  • 原生ajax函数封装

    原生ajax函数

    function ajax(json){
        json=json || {};
        if(!json.url){
        return;
       } json.data=json.data || {}; json.type=json.type || 'get'; var xmlhttp = null; if(window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); }else{ xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');  //兼容IE } //将data转换成字符串 var arr = []; for(var key in json.data){ arr.push(key + "=" + json.data[key]); } var postData = arr.join("&"); json.type = json.type.toUpperCase(); if(json.type === "GET"){ xmlhttp.open(json.type, json.url+'?'+postData+"&time=" +Math.random(), true); xmlhttp.send(); }else{ xmlhttp.open(json.type, json.url, true); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8'); xmlhttp.send(postData); } xmlhttp.onreadystatechange=function(){ if(xmlhttp.readyState === 4){ if(xmlhttp.status>=200 && xmlhttp.status<300 || xmlhttp.status==304){ json.success && json.success(xmlhttp.responseText); }else{ json.error && json.error(xmlhttp.status); } } }; }

    使用方法举例:

    ajax({
      url: '/login',
      data: {user: oUser.value, pass: oPass.value},
      success: function (str){
        var json=eval('('+str+')');
        if(json.ok){
          alert('登录成功');
        }else{
          alert('失败:'+json.msg);
        }
      },
      error: function (){
        alert('通信失败');
      }
    });
  • 相关阅读:
    【java】详解java多线程
    【java】switch case支持的6种数据类型
    【Java】详解java对象的序列化
    【java】详解I/O流
    【java】自定义异常类
    【java】详解集合
    【NotePade++】NotePade++如何直接编译运行java文件
    【java】JVM的内存区域划分
    Unicode和UTF的关系
    【java】解析java中的数组
  • 原文地址:https://www.cnblogs.com/lianchenxi/p/9665722.html
Copyright © 2011-2022 走看看