Maison > interface Web > js tutoriel > le corps du texte

Comment communiquer des données entre C et View

php中世界最好的语言
Libérer: 2018-04-02 13:46:44
original
1314 Les gens l'ont consulté

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(&#39;,&#39;);
  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 = &#39;button&#39; id = &#39;toAddCommentId&#39; onclick = &#39;replaceFrom("+parentId+",\""+name+"\""+")&#39;>回复</button>";
  }
  appendButton = appendButton+"<button type = &#39;button&#39; onclick = &#39;replaceFrom("+parentId+","+"\""+userName+"\""+")&#39;>我也说一句</button>";
 }
 appendButton = appendButton+"<p id = &#39;commentButton&#39; ></p><p id = &#39;textareaId&#39;></p>";
 if(data==""){
  appendButton = appendButton+"<textarea id=&#39;textareaId"+parentId+"&#39; rows=&#39;2&#39; cols=&#39;77&#39; validate=&#39;required&#39; validate-message=&#39;不能为空!&#39; name = &#39;content&#39; >@"+userName+"...."+"...."+parentId+":</textarea><button type = &#39;button&#39; id = &#39;commentContentId&#39; onclick = &#39;submit("+topicId+","+parentId+","+"\""+userName+"\""+")&#39;>发表</button>";
 }
 $("#addCommentId"+parentId).html(appendButton);
 });
Copier après la connexion

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();
 }
Copier après la connexion

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;
}
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!