如何将ajax得来json数据快速展示到html代码中?绝对干货

俗话说,分久必合,合久必分

什么东西都阻挡不了大势,俗话说,大势所趋就是这个道理


在多终端的环境下,以前让服务端比如php那些煞笔在页面上直接输出数据的年代早就过去啦,

什么?你们还这样做?



那就有人要问了,那现在流行什么呢?请容我细细道来



那就是数据和前端绝对的分开,服务器只负责提供 一串json数据,至于数据怎么展示,就交给前端啦,所以一个接口可以满足web,ios,android,等各种需求

哎呦,需求很强烈呀!


对于网页前端的我们,以前的那些遍历数据的操作就全部到我们手里了




所以各种

$("#xxx").val()
$("#xxx").html()
$("#xxx").attr()


就出现了,一个一个写,好烦啊


甚至还有数组,我们要这样

for(var i=0;i<len;i++) {
     $("<p>"+xx+"eee"+""+"</p>").apendTo(xxxx)
}



怎么办呢?能不能我只要写好一些属性,你就我自动给生成呢?

比如

<span data-name></span>

自动把json的里的name给塞进去,多舒服




下面楼主就给大家写一个插件

啥叫插件?就是插进去的一件东西。。。

有朋友说了?噢。。。那我也有。。。




jrender

一个基于jQuery的json数据快速展示系统

用法

html代码
<div class="info">
    <span render-html="weather"></span>
    <ul render-loop="seven_days">
            <li render-html="seven_days.weather"></li>
    </ul>
</div>
html代码
var data = {
    weather:'',
    seven_days:[
        {
            weather:''
        },
        {
            weather:'雾霾'
        },
        {
            weather:'小雨'
        }
    ]
};
$(".info").renderValues(data);

说明

1.所有的数据展示都是在某一个标签内 比如

<span render-html="username"></span>

循环类型的只循环,子元素的第一个元素,所以尽量套一个div进去

<div render-loop="seven_days">
    <div>
        <span render-html="seven_days.temperature"></span>
        <span render-html="seven_days.weather"></span>
    </div>
</div>
错误的写法
<div render-loop="seven_days">
    <span render-html="seven_days.temperature"></span>
    <span render-html="seven_days.weather"></span>
</div>

2.可以render的类型有如下一个

render-html, 
render-src, 
render-value, 
render-href, 
render-loop, 
render-attr(这个类型自定义属性例子:render-attr="userid=uid")

代码地址当然要在github上拉

https://github.com/suxianbaozi/jrender




ok就到这里,大家去试试吧



  • 12
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
前端代码: 1. 定义html表单,使用form标签包裹 ```html <form id="myForm" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br><br> <button type="submit" id="submitBtn">提交</button> </form> ``` 2. 监听表单提交事件,使用jquery发送ajax请求 ```javascript $('#myForm').submit(function(event) { event.preventDefault(); // 阻止表单默认提交行为 var formData = { 'username': $('input[name=username]').val(), 'password': $('input[name=password]').val() }; $.ajax({ type: 'POST', url: '/api/login', data: JSON.stringify(formData), dataType: 'json', contentType: 'application/json', success: function(data) { console.log(data); }, error: function(jqXHR, textStatus, errorThrown) { console.log(jqXHR.responseText); } }); }); ``` 后端代码: 1. 定义接收请求的controller方法 ```java @RestController @RequestMapping("/api") public class LoginController { @PostMapping("/login") public ResponseEntity<?> login(@RequestBody Map<String, String> request) { String username = request.get("username"); String password = request.get("password"); // 处理登录逻辑 return ResponseEntity.ok("登录成功"); } } ``` 2. 使用@RequestBody注解接收json数据,并使用ResponseEntity返回响应数据 ```java @PostMapping("/login") public ResponseEntity<?> login(@RequestBody Map<String, String> request) { String username = request.get("username"); String password = request.get("password"); // 处理登录逻辑 return ResponseEntity.ok("登录成功"); } ``` 步骤讲解: 1. 定义html表单,使用form标签包裹。 2. 监听表单提交事件,阻止表单默认提交行为,获取表单数据,使用jquery发送ajax请求。 3. 后端定义接收请求的controller方法,使用@RequestBody注解接收json数据。 4. 处理接收到的数据返回响应数据。在本例,使用ResponseEntity.ok()方法返回登录成功信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值