配色: 字号:
实验十 Ajax应用
2014-05-13 | 阅:  转:  |  分享 
  
实验十Ajax聊天室应用

【实验目的】

1、掌握jQuery对Ajax方法的支持;

2、掌握jQuery处理Ajax应用的常用方法;

3、掌握load、get、getJson、post等常用方法的应用。

【实验准备】

1、复习教材相关内容;

2、预习本次实验;

【实验内容】

完成基于ajax无刷新技术开发的聊天室程序,此程序要求允许多用户在网页上聊天,并且可以实时地更新信息。

客户端index.html代码:

1、HTML代码







加载中...





姓名:


内容:















2、css代码



body{

margin:0;

padding:0;

font-size:12px;

}

#messagewindow{

height:250px;

border:1pxsolid;

padding:5px;

overflow:auto;

}

#wrapper{

margin:auto;

width:438px;

}





3、JQERY代码





//
$(function(){

//定义时间戳

timestamp=0;

//调用更新信息函数

updateMsg();

//表单提交

$("#chatform").submit(function(){

$.post("backend.php",{

message:$("#msg").val(),

name:$("#author").val(),

action:"postmsg",

time:timestamp

},function(xml){

//清空信息文本框内容

$("#msg").val("");

//调用解析xml的函数

addMessages(xml);

});

returnfalse;//阻止表单提交

});

});

//更新信息函数,每隔一定时间去服务端读取数据

functionupdateMsg(){

$.post("backend.php",{time:timestamp},function(xml){

//移除掉等待提示

$("#loading").remove();

//调用解析xml的函数

addMessages(xml);

});

//每隔4秒,读取一次.

setTimeout(''updateMsg()'',4000);

}

//解析xml文档函数,把数据显示到页面上

functionaddMessages(xml){

//如果状态为2,则终止

if($("status",xml).text()=="2")return;

//更新时间戳

timestamp=$("time",xml).text();

//$.each循环数据

$("message",xml).each(function(){

varauthor=$("author",this).text();//发布者

varcontent=$("text",this).text();//内容

varhtmlcode=""+author+":"+content+"
";

$("#messagewindow").prepend(htmlcode);//添加到文档中

});

}

//]]>







服务器端代码:详见backend.php代码



【总结与体会】

通过本次实验掌握了jQuery对Ajax方法的支持、掌握了jQuery处理Ajax应用的常用方法、掌握了load、get、getJson、post等常用方法的应用,但是在操作的过程中也发现了很多的问题,在以后的学习中更加努力,争取早日做到得心应手的运用本次试验的内容。





献花(0)
+1
(本文系ying秀图书首藏)