刚遇到一个需求:做一个页面,获取物流信息数据渲染到页面上,后台之后会通过页面地址将页面截图返回图片文件,这这这,后面的实现由有点蒙,咱萌新就负责搞个页面渲染数据吧……

页面元素很简单,就这点;注意引入 jquery,我用 cdn 的方式引入的

<!DOCTYPE html>
<html lang="en">
 <head> 
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>物流信息转图片</title> 
  <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> 
 </head>  
 <body> 
  <div class="receiver-edit"> 
   <p> <span class="title">物流单号:</span>
    <span id="logisticsNum">{{receiverForm.logistics}} </span></p> 
   <p> <span class="title">物流公司:</span>
	<span id="company">{{receiverForm.company}}  </span>
	</p> 
   <div> 
    <p class="title">物流动态:</p> 
    <div class="dynamic" id="dynamicAddP"> 
    
    </div> 
   </div> 
  </div>  
 </body>
</html>

下面的脚本就是 - 发请求 - - 获取数据 - - - 渲染数据

 <script>
window.onload = function(){
        $.ajax({
            url: "http://localhost:8071/refund/getReceiver.get",
            type: "get",
            dataType: "json",
            success: function(data){
                /*这个方法里是ajax发送请求成功之后执行的代码*/
                showData(data.data);//我们仅做数据展示
            },
            error: function(msg){
                alert("ajax连接异常:"+msg);
            }
        });
    };
 //展示数据
  function showData(data) {
          var str = "";//定义用于拼接的字符串
          document.getElementById("logisticsNum").innerHTML=data.logistics; 
          document.getElementById("company").innerHTML=data.company; 
          let dynamic = data.dynamic
		  console.log(dynamic)
          for (var i = 0; i < dynamic.length; i++) {
              //拼接元素
              str =
              "<p> <span>"+ dynamic[i].time + "</span> <span style='padding-left:15px'>"
              + dynamic[i].message + "</span> </p> "

           	//追加到div中
              $("#dynamicAddP").append(str);         }
     }
</script>

简单整点样式

<style type="text/css">
        .receiver-edit{
            padding: 0px 0px 0px 20px;
            margin: 20px;
            width:100%;
        }
        .title{
            font-weight: bold;
            width:80px;
        }
        .dynamic{
            margin-left:80px;
			width:80%;
            box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
            border-radius: 4px;
            border: 1px solid #EBEEF5;
            background-color: #FFF;
            overflow: hidden;
            color: #303133;
            transition: .3s;
            padding:0 20px;
        }
    </style> 

为了测试,随便找个 Controller 写个方法,弄个假数据;
那个转 json 的需要 导入:import com.alibaba.fastjson.JSONObject;

//http://localhost:8071/refund/getReceiver.get
    @RequestMapping(value = "/getReceiver.get")
    public JsonDTO getReceiver() {
        String str = "{logistics:'9958159485614482598',company:'顺丰',dynamic:[{time:'2020/12/12 12:20:35',message:'【华中市场部公司】已收件取件人:胡参松(18521118913)'},{time:'2020/12/15 13:19:30',message:'华中市场部公司揽收成功'}]}";
        System.out.println("str:"+str);
        JSONObject jo = JSONObject.parseObject(str);
        System.out.println("jo:"+jo);
        return JsonDTO.createInstance().setData(jo).setStatus(JsonDTO.SUCCESS).setMsg("请求处理成功");
    }

页面效果如下:
在这里插入图片描述
后期更新:文章

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐