Maison > Article > interface Web > Comment communiquer des données entre C et View
Cette fois, je vais vous montrer comment communiquer des données entre C et View. Quelles sont les précautions pour l'échange de données entre C et View. Voici un cas pratique, jetons un oeil.
jQuery.post(url, [data], [callback], [type])
url,[data],[callback],[type]String,Map,Function,StringV1 .0url : envoyer l’adresse de la demande.
données : Paramètres clé/valeur à envoyer.
rappel : Fonction de rappel lorsque l'envoi est réussi.
type : Format du contenu de retour, xml, html, script, json, texte, _default.
Format :
$.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); });
Backend :
@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(); }
Remarque, utilisez l'annotation springmvc3 @responseBody pour transmettre les paramètres.
Fonctions js fréquemment utilisées :
En raison de l'utilisation de json pour transmettre les données ci-dessus, lorsque js analyse la date transmise par json, elle n'est pas au format nous voulons. , alors vous devez opérer sur la date : Transmettez d'abord la date passée, réglez-la sur time et transmettez-la à date.getTime()Ensuite, opérez dans 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; }Je pense que vous maîtrisez la méthode après avoir lu le cas présenté dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php ! Lecture recommandée :
Comment résoudre l'erreur status=parsererror signalée lors de l'interaction Ajax
Ajax implémente directement ce type de fonction Explication détaillée des étapes
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!