Heim > Web-Frontend > js-Tutorial > js implementiert die Front-End- und Back-End-Übertragung von Json-Codebeispielen

js implementiert die Front-End- und Back-End-Übertragung von Json-Codebeispielen

小云云
Freigeben: 2018-03-30 09:28:30
Original
1885 Leute haben es durchsucht

Unabhängig davon, welches Framework verwendet wird, besteht das Problem der Übergabe von Daten vom Controller an die HTML-Seite oder JSP-Seite. Die häufigste Methode ist die Übergabe von JSON-Strings. Früher war ich bezüglich dieser Erkenntnis etwas vage, aber jetzt habe ich sie geklärt und hoffe, dass sie allen helfen kann.

[Grundlegende JQuery-Methode]

JQuery und intern gekapseltes Ajax werden häufig zum Übertragen von Werten verwendet. Schauen Sie sich zunächst die get()- und post()-Syntax von jquery an. Die get()-Methode ruft Daten vom Server ab. Ihre Hauptparameter bestehen darin, die Hintergrundanforderungsadresse und die für die Verarbeitung verantwortliche Rückruffunktion abzurufen:

$.get(URL,callback);

$("button").click(function(){ 
 $.get("demo_test.php",function(data,status){ 
  alert("数据: " + data + "\n状态: " + status); 
 }); 
});
Nach dem Login kopieren

Post fordert Daten über die HTTP-Post-Methode an:

$.post(URL,data,callback);

$("button").click(function(){ 
  $.post("/try/ajax/demo_test_post.php", 
  { 
    name:"菜鸟教程", 
    url:"http://www.runoob.com" 
  }, 
    function(data,status){ 
    alert("数据: \n" + data + "\n状态: " + status); 
  }); 
});
Nach dem Login kopieren

[Spring MVC Framework + Jquery Ajax]

spring mvc Der Controller des Frameworks gibt Parameter vom Typ Map über die Annotationsmethode an js zurück.

@RequestMapping("update") 
@ResponseBody //此批注是ajax获取返回值使用 
public Map<String,Object> update(Long num,BigDecimal amount){ 
  map<string,Object> resultMap=new HashMap<string,Object>(); 
   
  if(num==null || agentId==null || amount==null){ 
    resultMap.put("result","参数不合法"); 
    return resultMap; 
  } 
  resultMap.put("result",result); 
   
}
Nach dem Login kopieren

jquery ajax erhält den Rückgabewert:

var params={}; 
params.num=num; 
params.id=id; 
params.amount=amount; 
$.ajax({ 
  async:false, 
  type:"post", 
  url:"uset/update", 
  data:params, 
  dataType:"json", 
  success:function(data){ 
    if(data.result==&#39;success&#39;){ 
      alert(&#39;修改成功&#39;); 
    }else{ 
      alert(&#39;修改失败&#39;); 
    } 
  }, 
  error:function(data){ 
    alert(data.result); 
  } 
   
})
Nach dem Login kopieren

Wenn die in js definierten Parameter mit dem von der Persistenzschicht definierten Javabean übereinstimmen, kann die Controllerschicht auch Entitäten empfangen.

[Beispiel für MUI-Bindungsdaten]

Es ist einfach, den vom Controller erhaltenen JSON-Wert mithilfe von JQuery abzurufen. Wie verarbeiten wir den JSON-Wert und binden ihn an das Seitensteuerelement? Lassen Sie uns zunächst kurz die Struktur von JSON verstehen:

var employees=[{"name":"Jon","age":12},{"name":"Tom","age":14}];
Nach dem Login kopieren

Als oben definiertes JSON-Objekt repräsentiert {} das Objekt, [] repräsentiert das Array, „“ repräsentiert das Attribut oder den Wert und : repräsentiert das Letzteres ist der Wert von Ersterem.

Erhalten Sie den Wert im JSON-Objekt: var name=employees[0].name;

Ändern: Mitarbeiter[0].name="LiMing";

MUI Beispiele für Anwendungen im Framework, Hinzufügen von Li-Tags zur Liste:

mui.init();
var url="queryUser"
mui.ajax(url,{
	data:{
		&#39;type&#39;:1,
		&#39;limit&#39;:10
	},
	dataType:&#39;json&#39;,
	type:&#39;post&#39;,
	success:function(data){
		var songs=data.result.songs;
		var list=document.getElementById("list");
		var fragment=document.creeateDocumentFramgment();
		
		var li;
		mui.each(songs,function(index,item){
			var id=item.id,
			name=item.album.name,
			author=item.artists[0].name;
			
			li=document.createElement(&#39;li&#39;);
			li.className="mui-table-view-cell mui-media";
			li.innerHTML=&#39;<a class="mui-navigate-right" id=&#39;+ id +&#39; data-audio=&#39;+ audio +&#39;>&#39;+&#39;<img class="mui-media-object mui-pull-left" srcload="&#39;+picUrl+&#39;">&#39;+&#39;<p class="mui-media-body">&#39;+name+&#39;<p class="mui-ellipsis">&#39;+author+&#39;</p>&#39;+&#39;</p>&#39;+&#39;</a>&#39;;
		fragment.appendChild(li);
		})
		
		list.appendChild(fragment);
		mui(document).imageLazyload({
			placeholder:&#39;../img/60*60.gif&#39;;
		});
		
	},erro:function(xhr,type,errorThrown){
		console.log(type);
	}
	
});
//列表点击事件
mui("#list").on(&#39;tap&#39;,&#39;li a&#39;,function(){
	var id=this.getAttribute(&#39;id&#39;);
	var audio=this.getAttribute(&#39;data-audio&#39;);
	mui.openWindow({
		url:&#39;music.html&#39;,
		id:&#39;music.html&#39;,
		extras:{
			musicId:id,
			audioUrl:audio
		}
	});
});
Nach dem Login kopieren

[Zusammenfassung]

Im Vergleich zu XML-Dateien weisen Daten im JSON-Format eine schnelle und stabile Übertragungsgeschwindigkeit auf ist eine sehr gute Wahl im Design.

Verwandte Empfehlungen:

So übertragen Sie ein JSON-Array über Ajax an PHP und fügen Daten über PHP in die Datenbank ein

Das obige ist der detaillierte Inhalt vonjs implementiert die Front-End- und Back-End-Übertragung von Json-Codebeispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage