ajax 함 수 를 패키지 하면 다음 과 같은 방법 으로 호출 할 수 있 습 니 다.

function ajax(options){
    //  
}
ajax({
    url: 'http://api.jirengu.com/weather.php',
    data: {
        city: '  '
    },
    onsuccess: function(ret){
        console.log(ret)
    },
    onerror: function(){
        console.log('     ')
    }
})
function ajax(options){
  var url = options.url;
  var type = options.type || 'GET';
  var dataType = options.dataType || 'json';
  var onsuccess = options.onsuccess || function(){};
  var onerror = options.onerror || function(){};
  var data = options.data || {};
  
  var dataStr = [];
  for(var key in data){
    dataStr.push(key + '=' + data[key]);
  }
  dataStr = dataStr.jion('&');
  
  if(type === 'GET'){
    url += '?' + dataStr;
  }
  
  var xhr = new XMLHttpRequest();
  xhr.open(type, url, true);
  xhr.onload = function(){
    if((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304){
      //    
      if(dataType === 'json'){
        onsuccess(Json.parse(xhr.responseText));
      }else{
        onsuccess(xhr.responseText);
      }
    }else{
      onerror();
    }
  };
  xhr.onerror = onerror;
  if(type === 'POST'){
    xhr.send(dataStr);
  }else{
    xhr.send();
  }
}

ajax({
  url: 'http://api.jirengu.com/weather.php',
  data: {
    city: '  '
  },
  onsuccess: function(ret){
    console.log(ret);
  },
  onerror: function(){
    console.log('     ');
  }
});

좋은 웹페이지 즐겨찾기