查看信息详情,通过ajax请求到json数据后,如果未使用vue,layui之类的前端框架,数据详情显示需要这样一条一条填充
$("#id1").val(data.id1);
$("#id2").val(data.id2);
$("#id3").val(data.id3);
......
如果数据量较大的话写起来比较复杂,也容易出问题,可以使用如下方法解决
html(根据name值进行匹配):
以下p标签换成input,span等均可
<div id="httpInfo" style="height:98%;overflow: auto">
<div class="c-row pdb-l">
<p class="col-2 text-right" style="font-weight: bold">服务名称:</p>
<p class="col-10 pdl-xl" name="srvName"></p>
</div>
<div class="c-row pdb-l">
<p class="col-2 text-right" style="font-weight: bold">中文名:</p>
<p class="col-10 pdl-xl" name="srvChName"></p>
</div>
<div class="c-row pdb-l">
<p class="col-2 text-right" style="font-weight: bold">服务状态:</p>
<p class="col-10 pdl-xl" name="srvStatusString"></p>
</div>
<div class="c-row pdb-l">
<p class="col-2 text-right" style="font-weight: bold">服务类型:</p>
<p class="col-10 pdl-xl" name="srvTypeString"></p>
</div>
......
</div>
json:
{
"code":200,
"success":true,
"obj":{
"srvName":"testService",
"srvChName":"测试服务",
"srvTypeString":"http服务",
"srvStatusString":"运行中",
}
}
javascript:
$.ajax({
url: 'getSrvInfoDetail?srvId=3569'
, type: 'POST'
, success: function (data) {
parseJson2Html(data.obj, $("#httpInfo"))
}
});
function parseJson2Html(data, div){
for (let key in data){
//p标签,span标签等使用text()
$(div).find('p[name='+key+']').text(data[key]);
//input,textarea等标签使用val()
$(div).find('textarea[name='+key+']').val(data[key]);
}
}