视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
C与View之间怎么进行数据交流
2020-11-27 19:57:02 责编:小采
文档


这次给大家带来C与View之间怎么进行数据交流,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+"<p id = 'commentButton' ></p><p id = 'textareaId'></p>";
 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;
}

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

Ajax交互时被报status=parsererror错误如何解决

Ajax直接实现点赞功能步奏详解

下载本文
显示全文
专题