-2
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?

4
  • 1
    describe "does not work" a little more detailed, please. do you get any error messages? doesn't this work in all browsers or just in one? what browsers have you tested? what have you tried yourself to find the problem? Commented Nov 5, 2010 at 9:04
  • I might have mistyped something. What soft can I use to find the mistake? Commented Nov 5, 2010 at 9:06
  • for firefox, there's a great addon called "firebug" you could use Commented Nov 5, 2010 at 9:15
  • Please update your title and your question to be more specific. Commented Nov 5, 2010 at 9:34

1 Answer 1

0

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

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.