主页 > 知识库 > ajax+springmvc实现C与View之间的数据交流方法

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

热门标签:服务器配置 团购网站 Mysql连接数设置 银行业务 科大讯飞语音识别系统 电子围栏 阿里云 Linux服务器

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;iarr.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);
 ListComment> comments=commentService.listByCommentId(parentId);
 return append(comments);
 }
 
 private String append(ListComment> comments) {
 StringBuffer sb=new StringBuffer();
 for(int i=0;icomments.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之间的数据交流方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
  • SpringMVC环境下实现的Ajax异步请求JSON格式数据
  • Spring MVC中Ajax实现二级联动的简单实例
  • AJAX +SpringMVC 实现bootstrap模态框的分页查询功能
  • springMVC+ajax实现文件上传且带进度条实例

标签:广元 枣庄 萍乡 衡水 大理 蚌埠 江苏 衢州

巨人网络通讯声明:本文标题《ajax+springmvc实现C与View之间的数据交流方法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266