ajax发表 读取 评论

所属分类: 网络编程 / AJAX相关 阅读数: 1594
收藏 0 赞 0 分享
复制代码 代码如下:

-----------------------------Jack的注释  ajaxJS.js-----------------------------

//这里是显示一个等待的窗口
document.write('<DIV id="loadingg"  style="HEIGHT:65px; WIDTH: 205px;POSITION: absolute; Z-INDEX:1000;border:3px #fff solid;text-align:center; font-size:12px; font-family:Arial, Helvetica, sans-serif;color:#660000;background:#222;opacity:.7;-moz-opacity:.7;filter: alpha(opacity=70); display:none;"><br/><font color="#FF6600"><strong>数据正在读取中,请等候...</strong>< /font><br/></DIV>')
//showloading控制等待窗口的显示和隐藏
function showloading()
{
var obj=document.getElementById("loadingg")
if (obj.style.display!="")
{
obj.style.left=((document.documentElement.clientWidth-parseFloat (obj.style.width))/2)+document.documentElement.scrollLeft+"px";
obj.style.top=((document.documentElement.clientHeight-parseFloat (obj.style.height))/2)+document.documentElement.scrollTop+"px";
obj.style.display="";
}else{obj.style.display="none";}
}

//$()取得指定ID的对象
function $(id)
{
 return document.getElementById(id); 
}
//echo()向指定的对象obj显示指定的html
function echo(obj,html)
{
 $(obj).innerHTML=html;
}
//fopen()使指定的obj处于显示状态
function fopen(obj)
{
 $(obj).style.display="";
}
//fclose()使指定的obj处于隐藏状态
function fclose(obj)
{
 $(obj).style.display="none";
}
//createxmlhttp()获取XMLHttpRequest对象并返回
function createxmlhttp()
{
 var xmlhttp=false;
 try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
  catch (e) {
      xmlhttp = false;
   }
  }
 if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    xmlhttp = new XMLHttpRequest();
    if (xmlhttp.overrideMimeType) {//设置MiME类别
   xmlhttp.overrideMimeType('text/xml');
  }
 } 

 return xmlhttp; 
}
//getdata()获取指定URL的数据在obj2里面显示,obj1是本过程的提示信息,可删除
function getdata(url,obj1,obj2)
{
  var xmlhttp=createxmlhttp();
  if(!xmlhttp)
  {
   alert("你的浏览器不支持XMLHTTP!!");
   return;
  }
  showloading()
  xmlhttp.onreadystatechange=requestdata;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  function requestdata()
  {

    fopen(obj1);
    //echo(obj1,"正在加载数据,请稍等......");
    //alert(xmlhttp.readyState)
    if(xmlhttp.readyState==4)
    {
     if(xmlhttp.status==200)
     {
      if(obj1!=obj2){fclose(obj1);};
      echo(obj2,xmlhttp.responseText);
      showloading()
     }
    }

  }
}
//postdata()发送指定的数据data到url地址,并且使用obj来显示返回的数据
function postdata(url,obj,data)
{       var rnd=Math.random()
  var xmlhttp=createxmlhttp();
  if(!xmlhttp)
  {
   alert("你的浏览器不支持XMLHTTP!!");
   return;
  }
  showloading()
  xmlhttp.open("POST", url, true);
  xmlhttp.onreadystatechange=requestdata;
  xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  xmlhttp.send(data);
  function requestdata()
  {
   fopen(obj);
   echo(obj,"正在提交数据,请稍等......");
   if(xmlhttp.readyState==4)
   {
    if(xmlhttp.status==200)
    {
     echo(obj,xmlhttp.responseText);
     reget(rnd);
     setTimeout("echo('showresult','')",2000);
     echo('Message','')
     showloading()
    }
   }
  }
}
//lTrim()去掉字符串左边的空格
function lTrim(str)
{
  if (str.charAt(0) == " ")
  {
    //如果字串左边第一个字符为空格
    str = str.slice(1);//将空格从字串中去掉
    //这一句也可改成 str = str.substring(1, str.length);
    str = lTrim(str);    //递归调用
  }
  return str;
}

//rTrim()去掉字串右边的空格
function rTrim(str)
{
  var iLength;

  iLength = str.length;
  if (str.charAt(iLength - 1) == " ")
  {
    //如果字串右边第一个字符为空格
    str = str.slice(0, iLength - 1);//将空格从字串中去掉
    //这一句也可改成 str = str.substring(0, iLength - 1);
    str = rTrim(str);    //递归调用
  }
  return str;
}

//trim()去掉字串两边的空格
function trim(str)
{
  return lTrim(rTrim(str));
}


//f()没有通用的意义,只针对特定对象
function f(obj)
{
 return trim(eval("document.ajax_post."+obj+".value"));
 //return trim($(obj).value);
}
//SaveReply()是表单的检查提交函数
function SaveReply()
{
 if(f("username")=="")
 {
  alert("请填写用户名");
  return false;
 }
 if(f("Message")=="")
 {
  alert("内容不可為空");
  return false;
 }
 var validate,password,log_DisKey=0,log_DisURL=0,log_DisSM=0
 validate=""
 password=""
 if(document.ajax_post.log_DisKey.checked){
  log_DisKey=f("log_DisKey")
  }
 if(document.ajax_post.log_DisURL.checked){
  log_DisURL=f("log_DisURL")
  }
 if(document.ajax_post.log_DisSM.checked){
  log_DisSM=f("log_DisSM")
  }
 if((typeof eval(document.ajax_post.validate))!="undefined"){
  if(f("validate")=="")
  {
   alert("请填写验证码");
   return false;
  }else{
   validate=f("validate");
  }
 } 
 if((typeof eval(document.ajax_post.password))!="undefined"){
  password=f("password");
 }
 data="username="+escape(f("username"))+"&password="+escape(password)+"&validate="+escape(validate)+"&log_DisSM="+escape(log_DisSM)+"&log_DisURL="+escape(log_DisURL)+"&log_DisKey="+escape(log_DisKey)+"&Message="+escape(f("Message"))+"&logID="+escape(f("logID"))+"&action="+escape(f("action"));
    //alert(data);
 postdata("wbc_blogcomm.asp","showresult",data);
 return true;
}


调用:
复制代码 代码如下:

<div id=ShowComm></div>
                <script language="javascript" type="text/javascript" src="ajaxJS.js"></script>  
                <script language="javascript" type="text/javascript"> 
                  function reget(str){ 
                 getdata('wbc_ShowComm.asp?LogID=100&comDesc=Desc&DisComment=False&0.5675318&'+str,'ShowComm','ShowComm');
                }
                 reget('get');
                </script>
更多精彩内容其他人还在看

理解jquery ajax中的datatype属性选项值

jquery中ajax的dataType属性用于指定服务器返回的数据类型,如果不指定,jQuery 将自动根据HTTP包MIME信息来智能判断,如果datatype选项不填写的话,会将返回的数据当成字符串处理。
收藏 0 赞 0 分享

基于Jquery ajax技术实现间隔N秒向某页面传值

这篇文章给大家介绍jquery ajax技术实现每隔一段时间向某页面传值,以及setinterval()方法的语法介绍,对本文感兴趣的朋友可以参考下
收藏 0 赞 0 分享

通过Ajax两种方式讲解Struts2接收数组表单的方法

使用struts2表单传值,可以传一个或者是作为一个对象的各个属性传,都非常灵活便捷。但是如果我们需要传一个数组并希望struts正确接收,该怎么处理呢?接下来,通过本文给大家介绍通过Ajax两种方式讲解Struts2接收数组表单的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Jquery.history解决ajax的前进后退问题

本文主要给大家介绍基于Jquery.history解决ajax的前进后退问题,涉及到jquery前进后退相关方面的知识,本文内容经典,非常具有参考价值,特此把jquery前进后退相关知识分享在脚本之家网站供大家参考
收藏 0 赞 0 分享

使用HTML5中postMessage知识点解决Ajax中POST跨域问题

这篇文章主要介绍了使用HTML5中postMessage知识点解决Ajax中POST跨域问题的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

谈谈你对aja的理解(一、二)

Ajax是Asynchronous Javascript And XML的缩写,其作用通过Ajax可以使用Javascript语句来调用XMLHttpRequest对象,直接与服务器进行通讯,可以在不重载页面的情况下与服务器交换数据。
收藏 0 赞 0 分享

关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结

最近比较空闲,于是抽个时间整理些关于ajax方法的东东。在项目中经常发现ajax板块好多问题都是属性,方法,事件大小写不区分问题,最终导致了程序运行出现麻烦,下面给大家介绍关于ajax对象一些常用属性、事件和方法大小写比较常见的问题总结
收藏 0 赞 0 分享

Ajax请求session失效该如何解决

HTML + Servlet + Filter + jQuery 一般来说我们的项目都有登录过滤器,一般请求足以搞定。但是AJAX却是例外的,所以解决方法是设置响应为session失效。
收藏 0 赞 0 分享

编写轻量ajax组件02--浅析AjaxPro

ajaxpro虽然是一个比较老的组件,不过实现思想和源码还是很有借鉴价值的。接下来通过本篇文章给大家介绍编写轻量ajax组件02--浅析AjaxPro,感兴趣的朋友可以参考下
收藏 0 赞 0 分享

编写轻量ajax组件01-与webform平台上的各种实现方式比较

这篇文章主要介绍了编写轻量ajax组件01-与webform平台上的各种实现方式比较,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多