模仿在线电影AJAX评论

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>视频播放-ajax评论</title>
<style>
 #comment{
  width:500px;
  height:400px;
  background-color:#FC6;
  }
</style>


<!-- 此部分已封装-->
<script src="ajaxUtil.js" language="javascript" type="text/javascript"></script>

<script language="javascript" type="text/javascript">


function test(){
  /*
  ajax无刷新的评论技术
  1、发布的评论,无刷新的显示到下面的区域
  2、通过ajax把内容存到服务器上
  3、获取服务器的数据,显示到评论区域
  */
  var comment=$$("com");
  //初始化url
  var url="ajax-youku-server.php";
  var params="comment="+encodeURI(comment.value);

   get(url,params,processCommentData);
}



function processCommentData(xhr){
    
    //获取div的对象
    var div=document.getElementById("comment");
    
    //产生一个段落标记
    var p=document.createElement("p");
    
    //产生一个文本节点
    var text=document.createTextNode("评论内容:"+xhr.responseText);
    //将文本添加到p元素  <p>text</p>
    p.appendChild(text);
    
    //将段落标记追加到div中
    div.appendChild(p);
}



</script>




</head>

<body>
优酷
<hr>
<!-- 此部分模仿视频,只不过是换成了SWF-->
<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="960" height="90">
  <param name="movie" value="b3d2d01e7b0c2fcdc92dc04af9f3f5b1[1].swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="opaque" />
  <param name="swfversion" value="8.0.35.0" />
  <!-- 此 param 标签提示使用 Flash Player 6.0 r65 和更高版本的用户下载最新版本的 Flash Player。如果您不想让用户看到该提示,请将其删除。 -->
  <param name="expressinstall" value="Scripts/expressInstall.swf" />
  <!-- 下一个对象标签用于非 IE 浏览器。所以使用 IECC 将其从 IE 隐藏。 -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="b3d2d01e7b0c2fcdc92dc04af9f3f5b1[1].swf" width="960" height="90">
    <!--<![endif]-->
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="8.0.35.0" />
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    <!-- 浏览器将以下替代内容显示给使用 Flash Player 6.0 和更低版本的用户。 -->
    <div>
      <h4>此页面上的内容需要较新版本的 Adobe Flash Player。</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="获取 Adobe Flash Player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>

<hr>

<textarea cols="45" id="com" rows="4"></textarea><br>
<input type="button" value="俺说两句" οnclick="test()"/>

<hr />
<div id="comment"></div>
<script type="text/javascript">
swfobject.registerObject("FlashID");
swfobject.registerObject("FlashID");
</script>
</body>

</html>


服务器端代码:

<?php
//省略了插入数据库的步骤

echo $_GET['comment'];

 ?>



封装部分代码:

function get(url1,params,methodName){
  /*
 ajax使用的基本步骤:

 1、初始化ajax引擎
 2、封装url(设定要请求的路径)
 3、打开ajax引擎(同步方式、异步的方式;本次传输使用get还是post)
 4、将要请求的信息通过引擎发送到服务器进行处理
 5、监听服务器返回给ajax引擎的处理状态
 6、判断是否交互完毕,如果交互完毕则取出返回的数
  */    
  //初始化ajax引擎
  var xhr = new XMLHttpRequest();//这种方式只针对ie浏览器,并且ie6以下还有问题。
  var url=url1+"?"+params+"&r="+Math.random();

  //alert(url);
  //打开引擎
  xhr.open("get",url,true);   //readyState=1
 
  //发送请求
  xhr.send(null);   //readyState=2
 
  //监听readyState值的改变,每次改变都会执行下面额函数  
  xhr.onreadystatechange=function (){
      
      //如果等于4,表明交互完毕 ,我们可以取出服务器返回的内容
      if(xhr.readyState==4){
            
    //动态调用方法,为什么说是动态呢?方法的名称是个变量methodName
            methodName(xhr);
            
      }
      
  }

}

//$$()方法用于方便取出 id="id" 的对象
function $$(id){
    
    return document.getElementById(id);
}





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值