解决方案 »
- struts的问题
- SpringMVC参数类型转换
- 求jqGrid的jsp例子!!
- jsp页面中用户可自由选择属性列来实现数据的查询?
- tomcat6.0在使用System.out.println("aa")的时候,我在哪里可以看的到aa?测试用
- 紧急求救:关于在一个画面上嵌入了一个iframe后加载顺序的问题,谢谢
- Jsp页面中如何调用Javascript的方法~~~
- 处理我文件的问题!对于高手应该是EASY的!
- 我向在网页上有个按钮,点击这个按钮,弹出一个子窗口,在这个子窗口作出选择后,把子窗口关闭,然后把选择的结果返回给父窗口,请问该如
- 请问各位用什么编些jsp,我的jbuilder 4中的jsp项目为什么是灰的
- 使用两次action就有两个id值吗??
- smartupload问题 求解
或者用iframe,直接刷新整个iframe,不过iframe的效率很低。
Ajax异步传输传输的信息一般都是比较小的,传输其实很快的。
附上一段我网站上的留言功能的AJax代码段吧。
我的功能是只显示最新的三条留言。
<script type="text/javascript">
/*通过异步传输XMLHTTP发送参数到ajaxServlet,返回符合条件的XML文档*/
var req=null;
function addMessage(){
var message=document.getElementById('message');
if(message.value==""){
alert("请输入留言内容");
}else{
getResult();
message.value="";
message.select();
}
}
function getResult() {
var message=document.getElementById('message');
var sendstr;
var url="http://192.126.119.139:8080/WebService/servlet/AjaxServlet?time="+new Date().toString();
if(message==null){
sendstr="";
}else{
sendstr = "sendmsg=" + message.value;
}
if(window.ActiveXObject)
{
req = new ActiveXObject('Microsoft.XMLHTTP');
}
else if(window.XMLHttpRequest)
{
req = new XMLHttpRequest();
}
if (req) {
req.onreadystatechange = complete;
req.open("POST", url);
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
req.send(sendstr);
}
}
function complete() {
if (req.readyState == 4) {
var v;
if (req.status==200) {
v = req.responseText;
showmsg(v);
}
if(req.status==0){
v = "抱歉,留言功能咱不支持你所使用的浏览器== ===抱歉,留言功能咱不支持你所使用的浏览器== ===抱歉,留言功能咱不支持你所使用的浏览器== ";
showmsg(v);
}
}
}
function showmsg(v){
var values=v.split("===");
if(values.length>0){
for(var i=0;i<values.length;i++){
if(values[i]!=null){
var values2=values[i].split("==");
document.getElementById("message"+(i+1)).innerHTML=values2[0];
document.getElementById("time"+(i+1)).innerHTML=values2[1];
}
}
}
}
window.onload=getResult();
</script>
</head>
type:"POST",
url:"DiscussQueryAction.action",
dataType:"JSON",
async:false,
data:{},
timeout:2000,
success:function(data,textStatus)
{
var datamgs=data.returndata;
$.each(datamgs,function(key,values){
$("#show").append("<textarea rows='8' cols='40' style='margin:5px; border:solid 1px #ccc; overflow: hidden; z-index: y;'>"+values.content+"</textarea>");
});
},
error:function(XMLHttpRequest,textStatus,errorThrown)
{
alert("XMLHttpRequest: "+XMLHttpRequest);
alert("error:"+textStatus);
alert("errorThrown:"+errorThrown);
}
});
我的是这样的;但还是没有达到预期效果
第二点、难道不是点击提交后,成功插入到数据库之后再将评论显示出来吗?
这种异步刷新是可以实现你说的功能的。
页面是立即显示评论的内容呀,没有查询数据库,而是在插入的时候,插入成功,返回一个状态吗,再将这个状态码以json的形式返回到前端,前端解析,判断,成功了显示,不成功不显示。