ajax+springmvc實(shí)現(xiàn)C與View之間的數(shù)據(jù)交流方法
jQuery.post(url, [data], [callback], [type])
url,[data],[callback],[type]String,Map,Function,StringV1.0url:發(fā)送請(qǐng)求地址。
data:待發(fā)送 Key/value 參數(shù)。
callback:發(fā)送成功時(shí)回調(diào)函數(shù)。
type:返回內(nèi)容格式,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+"\""+")'>回復(fù)</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+"\""+")'>發(fā)表</button>";
}
$("#addCommentId"+parentId).html(appendButton);
});
后臺(tái):
@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來傳遞參數(shù)。
經(jīng)常用到的js函數(shù):
上面由于使用json來傳遞的數(shù)據(jù),而js解析json傳過來的日期時(shí),不是我們想要的格式,這時(shí)需要對(duì)日期進(jìn)行操作:
首先傳過去的日期將它設(shè)為time傳過去 date.getTime()
然后再在js中操作:
var date= "/Date("+time+")/";
date = DateFormat(date);
/**
* 處理時(shí)間
* @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實(shí)現(xiàn)C與View之間的數(shù)據(jù)交流方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
json獲取數(shù)據(jù)庫的信息在前端頁面顯示方法
今天小編就為大家分享一篇json獲取數(shù)據(jù)庫的信息在前端頁面顯示方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05
用AJAX實(shí)現(xiàn)頁面登陸以及注冊(cè)用戶名驗(yàn)證的簡單實(shí)例
下面小編就為大家?guī)硪黄肁JAX實(shí)現(xiàn)頁面登陸以及注冊(cè)用戶名驗(yàn)證的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10
ajax回調(diào)函數(shù)參數(shù)傳遞正確方法
ajax回調(diào)函數(shù)參數(shù)傳遞正確方法,很多朋友習(xí)慣的寫錯(cuò)了,這里簡單的小結(jié)下。2010-12-12
詳解ajax +jtemplate實(shí)現(xiàn)動(dòng)態(tài)分頁
jtemplate是一個(gè)基于JQuery的模板引擎插件,功能非常強(qiáng)大,有了她你就再不用為使用JS綁定數(shù)據(jù)集而發(fā)愁了。本文給大家分享ajax +jtemplate實(shí)現(xiàn)動(dòng)態(tài)分頁,需要的朋友可以參考下本文2015-09-09
ajax的get請(qǐng)求時(shí)緩存處理解決方法
這篇文章主要介紹了ajax的get請(qǐng)求時(shí)緩存處理解決方法,詳細(xì)分析了常見的四種解決方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02
Ajax+smarty技術(shù)實(shí)現(xiàn)無刷新分頁
這篇文章主要介紹了Ajax+smarty技術(shù)實(shí)現(xiàn)無刷新分頁的相關(guān)資料,需要的朋友可以參考下2016-03-03

