Denis Bobrovnikov
Denis Bobrovnikov

Reputation: 630

Javascript - Ajax

function ajax(options) {
 options = {
  type: options.type || "POST",
  url: options.url || "",
  timeout: options.timeout || 5000,
  onComplete: options.onComplete || function(){},
  onError: options.onError || function(){},
  onSuccess: options.onSuccess || function(){},
  data: options.data || ""
 };
 if (typeof XMLHttpRequest == "undefined") {
  XMLHttpRequest = function(){
   try { return new XMLHttpRequest(); } catch(e) {}
   try { return new ActiveXObject("Msxml2.XMLHTTP.6.0"); } catch (e) {}
   try { return new ActiveXObject("Msxml2.XMLHTTP.3.0"); } catch (e) {}
   try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
   try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
   return null;
  };
 }
 var xml = new XMLHttpRequest();
 xml.open(options.type, options.url, true);
 var timeoutLength = options.timeout;
 var requestDone = false;
 setTimeout(function(){
  requestDone = true;
 }, timeoutLength);
 xml.onreadystatechange = function(){
  if (xml.readyState == 4 && !requestDone) {
   if (httpSuccess(xml)) {
    options.onSuccess(httpData(xml, options.type));
   } else {
    options.onError();
   }
   options.onComplete();
   xml = null;
  }
 };
 xml.send();
 function httpSuccess(r) {
  try {
   return (r.status >= 200 && r.status < 300) || r.status == 304 || navigator.userAgent.indexOf("Safari") >= 0 && typeof r.status == "undefined";
  } catch(e) {
   return false;
  }
 }
 function httpData(r.type) {
  var ct = r.getResponseHeader("content-type");
  var data = !type && ct && ct.indexOf("xml") >= 0;
  data = type == "xml" || data ? r.responseXML : r.responseText;
  if (type == "script") eval.call(window, data);
  return data;
 }
}
function serialize(a) {
 var s = [];
 if (a.constructor == Array) {
  for (var i = 0; i < a.length; i++) s.push(a[i].name + "=" + encodeURIComponent(a[i].value));
 } else {
  for (var j in a) s.push(j + "=" + encodeURIComponent(a[j]));
 }
 return s.join("&");
}

This code does not work. What is the problem?

Upvotes: -2

Views: 202

Answers (1)

eriksv88
eriksv88

Reputation: 3528

function httpData(r.type) { to function httpData(r,type) {

Upvotes: 0

Related Questions