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ù)交流方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Ajax上傳實(shí)現(xiàn)根據(jù)服務(wù)器端返回?cái)?shù)據(jù)進(jìn)行js處理的方法
這篇文章主要介紹了Ajax上傳實(shí)現(xiàn)根據(jù)服務(wù)器端返回?cái)?shù)據(jù)進(jìn)行js處理的方法,實(shí)例分析了Ajax請(qǐng)求及java處理并返回服務(wù)器端數(shù)據(jù)請(qǐng)求的相關(guān)技巧2015-07-07AjaxFileUpload結(jié)合Struts2實(shí)現(xiàn)多文件上傳(動(dòng)態(tài)添加文件上傳框)
本文是腳本之家小編給大家分享的AjaxFileUpload結(jié)合Struts2實(shí)現(xiàn)多文件上傳功能,如果項(xiàng)目需求是不確定多少個(gè)文件,我們需要?jiǎng)討B(tài)的添加文件上傳框,具體實(shí)現(xiàn)代碼大家參考下本文2017-09-09揭開AJAX神秘的面紗(AJAX個(gè)人學(xué)習(xí)筆記)
寫這個(gè)學(xué)習(xí)筆記,只是記載一下自己的學(xué)習(xí)經(jīng)過和體會(huì),把一些學(xué)習(xí)重點(diǎn)記錄下來,以備今后的鞏固復(fù)習(xí)及應(yīng)用,很多知識(shí)點(diǎn)沒有詳細(xì)介紹,所以并不完全適用于初學(xué)者,如果你是初學(xué)者,最好選擇一本AJAX學(xué)習(xí)的書籍,然后與這篇學(xué)習(xí)筆記對(duì)照學(xué)習(xí),效果會(huì)更好。2009-09-09編碼為GB2312網(wǎng)站讓AJAX接收的數(shù)據(jù)顯示支持中文
GB2312 網(wǎng)站AJAX接收的數(shù)據(jù)顯示支持中文2010-01-01AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)具體代碼
AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)效果,在瀏覽網(wǎng)頁(yè)的時(shí)候經(jīng)常會(huì)遇到過,下面與大家分享下具體的實(shí)現(xiàn)步驟2013-05-05Ajax異步請(qǐng)求的五個(gè)步驟及實(shí)戰(zhàn)案例
通過在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,Ajax可以使網(wǎng)頁(yè)實(shí)現(xiàn)異步更新,下面這篇文章主要給大家介紹了關(guān)于Ajax異步請(qǐng)求的五個(gè)步驟及實(shí)戰(zhàn)案例的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08