autocomplete

/**
 * @author GaoXue 2010-10-23
 */
function ajax(option){
 option = {
  type: option.type || "POST",
  url: option.url || "",
  timeout: option.timeout || 5000,
  datatype: option.datatype || "",
  onSuccess: option.onSuccess ||
  function(){
  },
  onError: option.onError ||
  function(){
  },
  onComplete: option.onComplete ||
  function(){
  },
  data: option.data || ""
 };
 if (typeof XMLHttpRequest == "undefined") {
  XMLHttpRequest = function(){
   return new ActiveXObject(navigate.userAgent.indexOf("MSIE 5") >= 0 ? "Microsoft.XMLHttp" : "Msxml2.XMLHttp");
  };
 }
 var xml = new XMLHttpRequest();
 xml.open(option.type, option.url, true);
 xml.setRequestHeader("Content-Type","text/xml");
 if(xml.overrideMimeType) xml.setRequestHeader("Connection","close");
 var timeoutlength = option.timeout;
 var requestDone = false;
 setTimeout(function(){
  requestDone = true;
 }, timeoutlength);
 //xml.onreadystatechange = function(){
 // if (xml.readystate == 4 && !requestDone) {
   if (httpRequestSuccess(xml)) {
    option.onSuccess(httpResponseData(xml, option.datatype));
   }
   else {
    option.onError();
   }
   option.onComplete();
   xml = null;
//  }
// };
 xml.send();
 function httpRequestSuccess(xml){
  try {
   if (!xml.status && location.protocol == "file:" ||
   xml.status >= 200 && xml.status < 300 ||
   xml.status == 304 ||
   navigate.userAgent.indexOf("safari") >= 0 && typeof xml.status == "undefined") {
    return true
   }
  }
  catch (e) {
  }
  return false;
 }
 function httpResponseData(xml, datatype){
  var data;
  var header = xml.getResponseHeader("Content-type");
  if (datatype == "xml"||(!datatype && header && header.indexOf("xml") >= 0)) {
   data = xml.responseXML;
  }
  else{
   data = xml.responseText;
  }
  if(datatype=="script"){
   eval.call(window.data);
  }
 }
 return data;
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值