视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
js实现前后台Json互相传送
2020-11-27 19:51:26 责编:小采
文档

这次给大家带来js实现前后台Json互相传送,js实现前后台Json互相传送的注意事项有哪些,下面就是实战案例,一起来看一下。

【Jquery基本方法】

实现传值常用的是Jquery以及内部封装的ajax。首先看一下jquery的get()和post()语法。get()方法是从服务器获得数据,其主要参数就是获得后台请求地址,以及负责处理的回调函数:

$.get(URL,callback);

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

post通过HTTP post方法请求数据:

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

【spring mvc框架+Jquery ajax】

spring mvc框架的controller通过标注方法向js返回Map<String,Object>类型参数。

@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获得返回值:

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

如果在js中定义的参数与持久层定义的javabean保持一致,controller层同样可以接收实体。

【MUI绑定数据实例】

使用jquery很容易获得controller获得的json值,那我们如何操作json值,让其绑定到页面控件呢?首先我们简单理解一下json的结构:

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

如上面定义的Json对象,{}表示对象,[]表示数组,"" 表示属性或值,: 表示后者是前者的值。

获得到json对象中的值:var name=employees[0].name;

修改:employees[0].name="LiMing";

MUI框架中的应用举例,实现list中添加li 标签:

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='+ id +' data-audio='+ audio +'>'+'<img class="mui-media-object mui-pull-left" srcload="'+picUrl+'">'+'<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
	}
	});
});

【总结】

json格式的数据相对于xml文件来说,传输速度快且稳定,在前端设计中是一种非常不错的选择。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

Vue实现Observer步骤详解

vue父组件调用子组件方法总结

下载本文
显示全文
专题