• 原生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('通信失败');
      }
    });
  • 相关阅读:
    cf C. Vasya and Robot
    zoj 3805 Machine
    cf B. Vasya and Public Transport
    cf D. Queue
    cf C. Find Maximum
    cf B. Two Heaps
    cf C. Jeff and Rounding
    cf B. Jeff and Periods
    cf A. Jeff and Digits
    I Think I Need a Houseboat
  • 原文地址:https://www.cnblogs.com/lianchenxi/p/9665722.html
Copyright © 2020-2023  润新知