Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 转换从URL调用的JSON数据并将其显示在HTML表中_Javascript_Html_Mysql_Json - Fatal编程技术网

Javascript 转换从URL调用的JSON数据并将其显示在HTML表中

Javascript 转换从URL调用的JSON数据并将其显示在HTML表中,javascript,html,mysql,json,Javascript,Html,Mysql,Json,我目前有一个HTML文件,它调用一个url,从mysql中提取数据,并在一个非常简单的iframe中用json显示它。理想情况下,我希望它以HTML表格格式显示,但是我发现从url转换json有点棘手。我计划使用Javascript。有人帮忙吗?请记住,我对Javascript非常陌生,所以请评论任何代码,提前谢谢 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"

我目前有一个HTML文件,它调用一个url,从mysql中提取数据,并在一个非常简单的iframe中用json显示它。理想情况下,我希望它以HTML表格格式显示,但是我发现从url转换json有点棘手。我计划使用Javascript。有人帮忙吗?请记住,我对Javascript非常陌生,所以请评论任何代码,提前谢谢

<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="UTF-8">
      <title>Title</title>
   </head>
   <body>
    <h2>Header</h2>
    <div id="HEAD1">

    <iframe src="http://localhost:8080" width="1000"      
    height="1000"></iframe>





    </div>
    </body>

您可以使用
tableMaker()
函数执行以下操作。它将接收您的数据并将其转换为HTML表格。数据数组中的每个对象表示一行,对象属性是标题,对象值是表格单元格值。如果将第二个参数传递为
true
,则会显示标题

var tableMaker=(o,h)=>{var keys=o.length&&Object.keys(o[0]),
rowMaker=(a,t)=>a.reduce((p,c,i,a)=>p+(i==a.length-1?“+c+”)
:“+c+”,“),
rows=o.reduce((r,c)=>r+rowMaker(key.reduce((v,k)=>v.concat(c[k]),[]),“td”),h?rowMaker(key,“th”):[]);
返回行数。长度?“+行数+:”;
},
tableData=[{“地址”:“178795010”,“客户机id”:null,“到期”:“2016-09-26 16:56:32”,“fqdn\U fwd”:“1”,“fqdn\U版本”:“1”,“主机名”:“vagrant-20009.ipam.bskyb”,“hwaddr”:“0800272022E6”,“状态”:“0”,“子网id”:“500”,“有效期”:“4000”},{“地址”:“178795011”,“客户机id”:null,“到期”:“2016-09-26 16:58”,“fqdn\D”:“1”,“fqdn\fqdn\U版本”:“主机名”:“vagrant-18992.ipam.bskyb”,“hwaddr”:“0800270FB593”,“state”:“0”,“subnet_id”:“500”,“valid_life”:“4000”;“address”:“178795012”,“client_id”:null,“expire”:“2016-09-26 17:13:55”,“fqdn_fwd”:“1”,“fqdn_rev”:“1”,“hostname”:“dhcp-client1.ipam.bskyb”,“hwaddr”:“0800275EA5B9”,“state”:“0”,“subnet_id”:“500”,“valid”有效的“fqdn_life”address”:“178501;”;“178793”;“178793”客户机id:null,“过期”:“2016-09-26 16:56:17”,“fqdn\u fwd”:“1”,“fqdn\u rev:”1”,“主机名”:“vagrant-10873.ipam.bskyb”,“hwaddr:”0800275FCA93”,“状态”:“0”,“子网id:”500”,“有效生命周期”:“4000”},{“地址”:“178795018”,“客户机id:”null,“过期”:“2016-09-26 17:06:16”,“fqdn\u fwd:”1”,“fqdn\u rev:”1”,“fqdn\u rev:”1”,“主机名”:“vagrant-24830”,“hwaddr:”bskyb:”080027707E62,“状态”:“0”,“子网id”:“500”,“有效生命周期”:“4000”},{“地址”:“3232250119”,“客户端id”:“空”,到期”:“2016-09-26 16:17:27”,“fqdn\U fwd”:“1”,“fqdn\U版本”:“1”,“主机名”:“bobobobob.ipam.bmarkskyb”,“hwaddr”:“080027379A97”,“状态”:“0”,“子网id”:“12”,“有效生命周期”:“100”;“地址”:“2250120”,“客户端id”:“到期”:“空”2016-09-26 16:17:15,“fqdn_fwd:“1”,“fqdn_rev:“1”,“主机名:”“bobtheblob7.ipam.bmarkskyb”,“hwaddr:”“080027063AD9”,“状态:”“0”,“子网id:”“12”,“有效生存期:”“100”},{“地址:”“3232250122”,“客户端id:”null,“过期:”“2016-09-26 16:17:22”,“fqdn_fwd:”“1”,“fqdn_rev:”“1”,“主机名:”“bobtheblob8.ipam.bmarkskyb”,“状态:”“Hwa507a:”“Hwad0:”子网\u id:“12”,“有效\u生存期”:“100”}],
tableHTML=tableMaker(tableData,true);
myTable.innerHTML=tableHTML;

这正是您在IMO中寻找的东西。请检查
这一技巧,唯一的问题是您需要将json中的“”符号替换为“”


数据表:

住址 客户识别码 失效 fqdn_fwd fqdn_修订版 主机名 hwaddr 状态 子网标识 有效寿命 {{row.address}} {{row.client_id} {{row.expire} {{row.fqdn_fwd}} {{row.fqdn_rev}} {{row.hostname} {{row.hwaddr}} {{row.state}} {{row.subnet_id} {{row.valid{u life}}
您应该使用angularjs功能来实现同样的目的。@ChaitanyaKurdukar您是否可以给我一个如何实现的示例?如果我想直接从url调用它呢?因为这是我的目标。@computerNoob我想您首先必须通过
decodeURICo将收到的URI转换为JSON字符串mponent()
然后通过
JSON.parse()
转换为JS对象。例如
tableData=JSON.parse(decodeURIComponent(url))
50KB的库,用于在表中显示JSON这样简单的事情?我同意这可以不用angularjs也可以通过使用普通javascript来实现,但是computerNoob是javascript的新成员,这对他来说实现起来非常简单,这是每个人都在追求的新标准,而且在我看来,这不是computerNoob的唯一目标他还需要将angularjs功能用于应用程序的其他部分。
 [{"address":"178795010","client_id":null,"expire":"2016-09-26 16:56:32","fqdn_fwd":"1","fqdn_rev":"1","hostname":"vagrant-20009.ipam.bskyb","hwaddr":"0800272022E6","state":"0","subnet_id":"500","valid_lifetime":"4000"},{"address":"178795011","client_id":null,"expire":"2016-09-26 16:58:48","fqdn_fwd":"1","fqdn_rev":"1","hostname":"vagrant-18992.ipam.bskyb","hwaddr":"0800270FB593","state":"0","subnet_id":"500","valid_lifetime":"4000"},{"address":"178795012","client_id":null,"expire":"2016-09-26 17:13:55","fqdn_fwd":"1","fqdn_rev":"1","hostname":"dhcp-client1.ipam.bskyb","hwaddr":"0800275EA5B9","state":"0","subnet_id":"500","valid_lifetime":"4000"},{"address":"178795013","client_id":null,"expire":"2016-09-26 16:56:17","fqdn_fwd":"1","fqdn_rev":"1","hostname":"vagrant-10873.ipam.bskyb","hwaddr":"0800275FCA93","state":"0","subnet_id":"500","valid_lifetime":"4000"},{"address":"178795018","client_id":null,"expire":"2016-09-26 17:06:16","fqdn_fwd":"1","fqdn_rev":"1","hostname":"vagrant-24830.ipam.bskyb","hwaddr":"080027707E62","state":"0","subnet_id":"500","valid_lifetime":"4000"},{"address":"3232250119","client_id":null,"expire":"2016-09-26 16:17:27","fqdn_fwd":"1","fqdn_rev":"1","hostname":"bobobobobobobobobob.ipam.bmarkskyb","hwaddr":"080027379A97","state":"0","subnet_id":"12","valid_lifetime":"100"},{"address":"3232250120","client_id":null,"expire":"2016-09-26 16:17:15","fqdn_fwd":"1","fqdn_rev":"1","hostname":"bobtheblob7.ipam.bmarkskyb","hwaddr":"080027063AD9","state":"0","subnet_id":"12","valid_lifetime":"100"},{"address":"3232250122","client_id":null,"expire":"2016-09-26 16:17:22","fqdn_fwd":"1","fqdn_rev":"1","hostname":"bobtheblob8.ipam.bmarkskyb","hwaddr":"800027A5E27A","state":"0","subnet_id":"12","valid_lifetime":"100"}]