Home  >  Article  >  Web Front-end  >  js implements front-end and back-end transmission of Json

js implements front-end and back-end transmission of Json

php中世界最好的语言
php中世界最好的语言Original
2018-04-20 17:30:262335browse

This time I will bring you js to realize front-end and back-end transmission of Json, and js to realize front-end and back-end transmission of Json. What are the precautions? The following is a practical case, let's take a look.

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); 
 }); 
});

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.php.com" 
  }, 
    function(data,status){ 
    alert("数据: \n" + data + "\n状态: " + status); 
  }); 
});

[spring mvc framework Jquery ajax】

The controller of the spring mvc framework returns Map type parameters to js through the annotation method.

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

jquery ajax gets the 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=='success'){ 
      alert('修改成功'); 
    }else{ 
      alert('修改失败'); 
    } 
  }, 
  error:function(data){ 
    alert(data.result); 
  } 
   
})
If the parameters defined in js are consistent with the javabean defined by 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}];
As the Json object defined above, {} represents the object, [] represents the array, "" represents the attribute or value, and : represents the latter as 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 list:

mui.init();
var url="queryUser"
mui.ajax(url,{
	data:{
		'type':1,
		'limit':10
	},
	dataType:'json',
	type:'post',
	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('li');
			li.className="mui-table-view-cell mui-media";
			li.innerHTML='<a class="mui-navigate-right" id=&#39;+ id +&#39; data-audio=&#39;+ audio +&#39;>'+'<img class="mui-media-object mui-pull-left" srcload="&#39;+picUrl+&#39;">'+'<p class="mui-media-body">'+name+'<p class="mui-ellipsis">'+author+'</p>'+'</p>'+'</a>';
		fragment.appendChild(li);
		})
		
		list.appendChild(fragment);
		mui(document).imageLazyload({
			placeholder:'../img/60*60.gif';
		});
		
	},erro:function(xhr,type,errorThrown){
		console.log(type);
	}
	
});
//列表点击事件
mui("#list").on('tap','li a',function(){
	var id=this.getAttribute('id');
	var audio=this.getAttribute('data-audio');
	mui.openWindow({
		url:'music.html',
		id:'music.html',
		extras:{
			musicId:id,
			audioUrl:audio
		}
	});
});

[Summary]

Compared to xml files, data in json format has fast and stable transmission speed, and is a very good choice in front-end design.

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

Convert strings with html fields into HTML tags

How to pass json using the Post method parameter

The above is the detailed content of js implements front-end and back-end transmission of Json. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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