js实现前后台传送Json代码实例
无论使用什么框架都存在着从controller向Html页面或者jsp页面传递数据的问题,最常用的方式是传递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
@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文件来说,传输速度快且稳定,在前端设计中是一种非常不错的选择。
相关推荐:
怎么通过ajax传送json数组到php,并通过php将数据插入数据库
以上是js实现前后台传送Json代码实例的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

如果您需要远程编程任何设备,这篇文章会给您带来帮助。我们将分享编程任何设备的顶级GE通用远程代码。通用电气的遥控器是什么?GEUniversalRemote是一款遥控器,可用于控制多个设备,如智能电视、LG、Vizio、索尼、蓝光、DVD、DVR、Roku、AppleTV、流媒体播放器等。GEUniversal遥控器有各种型号,具有不同的功能和功能。GEUniversalRemote最多可以控制四台设备。顶级通用遥控器代码,可在任何设备上编程GE遥控器配备一组代码,使其能够与不同设备相配合。您可

作为一名程序员,对于能够简化编码体验的工具,我感到非常兴奋。借助人工智能工具的帮助,我们可以生成演示代码,并根据需求进行必要的修改。在VisualStudioCode中新引入的Copilot工具让我们能够创建具有自然语言聊天交互的AI生成代码。通过解释功能,我们可以更好地理解现有代码的含义。如何使用Copilot生成代码?要开始,我们首先需要获得最新的PowerPlatformTools扩展。要实现这一点,你需要进入扩展页面,搜索“PowerPlatformTool”,然后点击Install按钮

PHP数组转JSON的性能优化方法包括:使用JSON扩展和json_encode()函数;添加JSON_UNESCAPED_UNICODE选项以避免字符转义;使用缓冲区提高循环编码性能;缓存JSON编码结果;考虑使用第三方JSON编码库。

Jackson库中的注解可控制JSON序列化和反序列化:序列化:@JsonIgnore:忽略属性@JsonProperty:指定名称@JsonGetter:使用获取方法@JsonSetter:使用设置方法反序列化:@JsonIgnoreProperties:忽略属性@JsonProperty:指定名称@JsonCreator:使用构造函数@JsonDeserialize:自定义逻辑

深入了解PHP:JSONUnicode转中文的实现方法在开发中,我们经常会遇到需要处理JSON数据的情况,而JSON中的Unicode编码在一些场景下会给我们带来一些问题,特别是当需要将Unicode编码转换为中文字符时。在PHP中,有一些方法可以帮助我们实现这个转换过程,下面将介绍一种常用的方法,并提供具体的代码示例。首先,让我们先了解一下JSON中Un

自2023年3月14日开始,ChatGLM-6B以来,GLM系列模型受到了广泛的关注和认可。特别是在ChatGLM3-6B开源之后,开发者对智谱AI推出的第四代模型充满了期待。而这一期待,随着GLM-4-9B的发布,终于得到了充分的满足。GLM-4-9B的诞生为了赋予小模型(10B及以下)更加强大的能力,GLM技术团队经过近半年的探索,推出了这一全新的第四代GLM系列开源模型:GLM-4-9B。这一模型在保证精度的同时,大幅度压缩了模型大小,具有更快的推理速度和更高的效率。GLM技术团队的探索没

在Linux操作系统中处理文件需要使用各种命令和技术,使开发人员能够高效地创建和执行文件、代码、程序、脚本和其他东西。在Linux环境中,扩展名为”.a”的文件作为静态库具有重要的重要性。这些库在软件开发中发挥着重要作用,允许开发人员有效地管理和共享多个程序的公共功能。对于Linux环境中的有效软件开发,了解如何创建和运行“.a”文件至关重要。本文将介绍如何全面安装和配置Linux“.a”文件,让我们一起探索Linux“.a”文件的定义、用途、结构,以及创建和执行它的方法。什么是L

出品|51CTO技术栈(微信号:blog51cto)Mistral发布了首个代码模型Codestral-22B!该模型的疯狂之处不仅在于训练了80多种编程语言,包括许多代码模型忽略的Swift等。他们的速度没有完全一致。要求使用Go语言编写一个“发布/订阅”系统。这里的GPT-4o正在输出,Codestral已经快到看不清的速度交卷了!由于该模型刚刚推出,尚未公开测试。但根据Mistral的负责人说法,Codestral是目前表现最佳的开源代码模型。图片感兴趣的朋友可以移步:-抱抱脸:https
