c ajax前后给后台传值,ajax+springmvc实现C与View之间的数据交流方法

本文详细介绍了如何利用jQuery的$.post方法与SpringMVC的@RequestBody注解进行Ajax请求,实现客户端与服务器的数据交换。通过$.post发送JSON数据到后台,后台处理后返回数据,前端通过回调函数处理并展示。同时,文章还展示了如何处理日期格式转换问题。
摘要由CSDN通过智能技术生成

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

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 = "

"+content+"
"+time+"
";

appendButton = appendButton+table+"回复";

}

appendButton = appendButton+"我也说一句";

}

appendButton = appendButton+"

if(data==""){

appendButton = appendButton+"@"+userName+"...."+"...."+parentId+":发表";

}

$("#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 comments=commentService.listByCommentId(parentId);

return append(comments);

}

private String append(List comments) {

StringBuffer sb=new StringBuffer();

for(int i=0;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之间的数据交流方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程圈。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值