北方弓箭手

博客园 首页 新随笔 联系 订阅 管理

公告

这个自己还没有看懂,先放上来!

//ZAJAX v 0.10
//由土豆网 Zarz 制作 (http://www.toodou.com/)
//基于 sajax 0.10 (http://www.modernmethod.com/sajax/)
//拆分了SAJAX的服务端和客户端的程序,增加了调用的自由度,在服务端改善了中文支持


var zajax_debug_mode = false;
//var zajax_debug_mode = true;
var zajax_request_type = "GET";
function zajax_debug(text) {
 if (zajax_debug_mode)
  alert("RSD: " + text)
}
function zajax_init_object() {
    zajax_debug("zajax_init_object() called..")
 
    var A;
 try {
  A=new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   A=new ActiveXObject("Microsoft.XMLHTTP");
  } catch (oc) {
   A=null;
  }
 }
 if(!A && typeof XMLHttpRequest != "undefined")
  A = new XMLHttpRequest();
 if (!A)
  zajax_debug("Could not create connection object.");
 return A;
}
function zajax_do_call(uri, func_name, args) {
 var i, x, n;
 //var uri;
 var post_data;
 
 //uri = "<?php echo $zzajaxremote_uri; ?>";
 if (zajax_request_type == "GET") {
  if (uri.indexOf("?") == -1)
   uri = uri + "?rs=" + escape(func_name);
  else
   uri = uri + "&rs=" + escape(func_name);
  for (i = 0; i < args.length-1; i++)
   uri = uri + "&rsargs[]=" + escape(args[i]);
  uri = uri + "&rsrnd=" + new Date().getTime();
  post_data = null;
 } else {
  post_data = "rs=" + escape(func_name);
  for (i = 0; i < args.length-1; i++)
   post_data = post_data + "&rsargs[]=" + escape(args[i]);
 }
 
 x = zajax_init_object();
 x.open(zajax_request_type, uri, true);
 if (zajax_request_type == "POST") {
  x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
  x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 }
 x.onreadystatechange = function() {
  if (x.readyState != 4)
   return;
  zajax_debug("received " + x.responseText);
  
  var status;
  var data;
  status = x.responseText.charAt(0);
  data = x.responseText.substring(2);
  if (status == "-")
   alert("Error: " + data);
  else 
   args[args.length-1](data);
 }
 x.send(post_data);
 zajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
 zajax_debug(func_name + " waiting..");
 delete x;
}

posted on 2006-07-19 15:57 尕豆 阅读(465) 评论(0) 编辑 收藏