ajax+springmvc实现C与View之间的数据交流方法

 更新时间:2017年03月05日 12:01:56   投稿:jingxian  
下面小编就为大家带来一篇ajax+springmvc实现C与View之间的数据交流方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

jQuery.post(url, [data], [callback], [type])

url,[data],[callback],[type]String,Map,Function,StringV1.0url:发送请求地址。

data:待发送 Key/value 参数。

callback:发送成功时回调函数。

type:返回内容格式,xml, html, script, json, text, _default。

套用格式:

$.post("test.php", function(data){
  alert("Data Loaded: " + data);
 });

$.get("comment/getComments?parentId="+parentId+"&topicId="+topicId,function(data){
 var appendButton ="";
 var append = "";
 if(data!=""){
  var arr = data.split("$");
  var allTr="";
  for(var i = 0;i<arr.length;i++){
  var arr2 = arr[i].split(',');
  var name = arr2[3];
  var content = arr2[0];
  var time= "/Date("+arr2[1]+")/";
  time = DateFormat(time);
  var id = arr2[2];
  var table = "<table><tr><td>"+content+"</td></tr><tr><td>"+time+"</td></tr></table>";
  appendButton = appendButton+table+"<button type = 'button' id = 'toAddCommentId' onclick = 'replaceFrom("+parentId+",\""+name+"\""+")'>回复</button>";
  }
  appendButton = appendButton+"<button type = 'button' onclick = 'replaceFrom("+parentId+","+"\""+userName+"\""+")'>我也说一句</button>";
 }
 appendButton = appendButton+"<div id = 'commentButton' ></div><div id = 'textareaId'></div>";
 if(data==""){
  appendButton = appendButton+"<textarea id='textareaId"+parentId+"' rows='2' cols='77' validate='required' validate-message='不能为空!' name = 'content' >@"+userName+"...."+"...."+parentId+":</textarea><button type = 'button' id = 'commentContentId' onclick = 'submit("+topicId+","+parentId+","+"\""+userName+"\""+")'>发表</button>";
 }
 $("#addCommentId"+parentId).html(appendButton);
 });

后台:

@RequestMapping(value = "/saveAndGetComments", params = {"topicId","parentId"}, method = RequestMethod.POST)
 @ResponseBody
 public String saveAndGetComments(long topicId,Comment comment,long parentId) throws UnsupportedEncodingException{
 comment.setParentId(parentId);
 commentService.save(comment,topicId);
 List<Comment> comments=commentService.listByCommentId(parentId);
 return append(comments);
 }
 
 private String append(List<Comment> comments) {
 StringBuffer sb=new StringBuffer();
 for(int i=0;i<comments.size();i++){
  Comment comment = comments.get(i);
  sb.append(comment.getContent());
  sb.append(",");
  sb.append(comment.getCreateTime().getTime());
  sb.append(",");
  sb.append(comment.getId());
  sb.append(",");
  sb.append(comment.getUser().getName());
  if(i!=comments.size()-1){
  sb.append("$");
  }
 }
 return sb.toString();
 }

注意,用springmvc3的注解@responseBody来传递参数。

经常用到的js函数:

上面由于使用json来传递的数据,而js解析json传过来的日期时,不是我们想要的格式,这时需要对日期进行操作:

首先传过去的日期将它设为time传过去 date.getTime()

然后再在js中操作:

var date= "/Date("+time+")/";
date = DateFormat(date);



/**
 * 处理时间
 * @param value
 * @returns {String}
 */
function DateFormat(value) {
  var date = new Date(parseInt(value.replace("/Date(", "").replace(")/", ""), 10));
  var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
  var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
  var Hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
  var Minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
  var Seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();

  return date.getFullYear() + "/" + month + "/" + currentDate + " " + Hours + ":" + Minutes + ":" + Seconds;
}

以上这篇ajax+springmvc实现C与View之间的数据交流方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Ajax上传实现根据服务器端返回数据进行js处理的方法

    Ajax上传实现根据服务器端返回数据进行js处理的方法

    这篇文章主要介绍了Ajax上传实现根据服务器端返回数据进行js处理的方法,实例分析了Ajax请求及java处理并返回服务器端数据请求的相关技巧
    2015-07-07
  • AjaxFileUpload结合Struts2实现多文件上传(动态添加文件上传框)

    AjaxFileUpload结合Struts2实现多文件上传(动态添加文件上传框)

    本文是脚本之家小编给大家分享的AjaxFileUpload结合Struts2实现多文件上传功能,如果项目需求是不确定多少个文件,我们需要动态的添加文件上传框,具体实现代码大家参考下本文
    2017-09-09
  • 揭开AJAX神秘的面纱(AJAX个人学习笔记)

    揭开AJAX神秘的面纱(AJAX个人学习笔记)

    写这个学习笔记,只是记载一下自己的学习经过和体会,把一些学习重点记录下来,以备今后的巩固复习及应用,很多知识点没有详细介绍,所以并不完全适用于初学者,如果你是初学者,最好选择一本AJAX学习的书籍,然后与这篇学习笔记对照学习,效果会更好。
    2009-09-09
  • 如何使用ajax读取Json中的数据

    如何使用ajax读取Json中的数据

    这篇文章主要介绍了如何使用ajax读取Json中的数据,如何使用AJAX读取Json数组里面的数据,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 关于Ajax的疑难杂症详解

    关于Ajax的疑难杂症详解

    这篇文章主要给大家介绍了关于Ajax的疑难杂症,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • 编码为GB2312网站让AJAX接收的数据显示支持中文

    编码为GB2312网站让AJAX接收的数据显示支持中文

    GB2312 网站AJAX接收的数据显示支持中文
    2010-01-01
  • AJAX和WebService实现省市县三级联动具体代码

    AJAX和WebService实现省市县三级联动具体代码

    AJAX和WebService实现省市县三级联动效果,在浏览网页的时候经常会遇到过,下面与大家分享下具体的实现步骤
    2013-05-05
  • 浅谈Ajax的缓存机制

    浅谈Ajax的缓存机制

    本文主要是向我们简单介绍了AJAX的缓存机制的几条简单的规则以及注意事项,非常不错,这里推荐给大家。
    2015-02-02
  • Ajax异步请求的五个步骤及实战案例

    Ajax异步请求的五个步骤及实战案例

    通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新,下面这篇文章主要给大家介绍了关于Ajax异步请求的五个步骤及实战案例的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • Ajax请求和Filter配合案例解析

    Ajax请求和Filter配合案例解析

    这篇文章主要介绍了Ajax请求和Filter配合案例解析的,本文给大家介绍的非常详细,具有参考借鉴加载,需要的朋友可以参考下
    2016-12-12

最新评论