Home > Web Front-end > JS Tutorial > body text

Sample code for using js to transmit Json between front and backends

亚连
Release: 2018-05-28 14:37:11
Original
1343 people have browsed it

Below I will share with you a sample code that uses js to transmit Json in the front and backends. It has a good reference value and I hope it will be helpful to everyone.

No matter what framework is used, there is the problem of passing data from the controller to the Html page or jsp page. The most common way is to pass Json string. I was a little vague about this piece of knowledge before, so I’ll sort it out now.

[Jquery basic method]

Jquery and internally encapsulated ajax are commonly used to implement value transfer. First, take a look at jquery's get() and post() syntax. The get() method obtains data from the server. Its main parameters are to obtain the background request address and the callback function responsible for processing:

$.get(URL,callback);

$("button").click(function(){ 
 $.get("demo_test.php",function(data,status){ 
  alert("数据: " + data + "\n状态: " + status); 
 }); 
});
Copy after login

post requests data through the HTTP post method:

$.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); 
  }); 
});
Copy after login

[spring mvc framework Jquery ajax]

The controller of the spring mvc framework returns MapType parameters.

@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); 
   
}
Copy after login

jquery ajax gets return value:

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); 
  } 
   
})
Copy after login

If the parameters defined in js are consistent with the javabean defined in the persistence layer, the controller layer can also receive entities.

[MUI Binding Data Example]

It is easy to get the json value obtained by the controller using jquery, so how do we operate the json value, let What about binding it to the page control? First, let’s briefly understand the structure of json:

var employees=[{"name":"Jon","age":12},{"name":"Tom","age":14}];
Copy after login

As the Json object defined above, {} represents the object, [] represents the array, "" represents the attribute or value, : indicates that the latter is the value of the former.

Get the value in the json object: var name=employees[0].name;

Modify: employees[0].name ="LiMing";

Application example in MUI framework, add li tag to the list:

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
		}
	});
});
Copy after login

The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

How to create an ajax object and be compatible with multiple browsers

Ajax requests nested within Ajax requests Sample code

Use Ajax technology to complete the homepage login function through the XMLHttpRequest object

The above is the detailed content of Sample code for using js to transmit Json between front and backends. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template