Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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 从本地读取json文件或从本地存储创建html表_Javascript_Html_Json_Ajax - Fatal编程技术网

Javascript 从本地读取json文件或从本地存储创建html表

Javascript 从本地读取json文件或从本地存储创建html表,javascript,html,json,ajax,Javascript,Html,Json,Ajax,有一个Nodejs脚本,可以从postgres查询数据并将数据写入json文件queryResult.json 在一个新的html文件中,当我将json数据硬编码为变量时,我能够动态创建html表。但是,我不确定如何从本地存储读取json文件,或者是否需要使用外部JS库来提供帮助。 我刚才确实尝试过添加一个ajax调用来从本地存储/文件夹获取文件,但是我遇到了一个与cors相关的错误。我想我需要托管这个文件。有没有其他方法可以在本地进行测试?也许像wamp这样的本地Web服务器或其他什么是我想的

有一个Nodejs脚本,可以从postgres查询数据并将数据写入json文件queryResult.json

在一个新的html文件中,当我将json数据硬编码为变量时,我能够动态创建html表。但是,我不确定如何从本地存储读取json文件,或者是否需要使用外部JS库来提供帮助。 我刚才确实尝试过添加一个ajax调用来从本地存储/文件夹获取文件,但是我遇到了一个与cors相关的错误。我想我需要托管这个文件。有没有其他方法可以在本地进行测试?也许像wamp这样的本地Web服务器或其他什么是我想的

html代码


函数CreateTableFromJSON(){ 风险值结果=[ { “唯一id”:“0555163995”, “团体”:“机器人城”, “状态”:“已分配”, “最后的回应者”:“蝙蝠侠”, “最后回复日期”:“2021-04-02T06:43:24.000Z” } ] //提取HTML头的值。 var col=[]; 对于(var i=0;i
首先要做几件事

  • 为什么要将JSON响应写入文件
  • 当你说本地存储时,你指的是实际的本地存储还是仅仅存储在本地?(需要知道的一点很重要:D)
  • 根据问题标题,我假设您使用的是Node,因此没有很好的理由将JSON响应从PG写入文件,您只需在响应中返回查询响应(除非出于某种原因您需要将其写入文件,但这并不是一种很好的方式)

    您要做的是使用模板引擎(例如,我正在使用EJS)

    然后,流程将使用EJS并在PG响应上循环,如下所示

       res.render('path/to/ejs/view', {
                                items: [pg response],
                                })
    
    pg response是pg查询返回的变量

    然后在ejs页面上,您将执行以下操作

    <% for ( i in pg-response){ %>
    <tr><td> <%-pg-response[i].item %></td></tr>
    <%}%>
    
    
    
    这并不是说您必须使用EJS或任何模板引擎,您可以从和API公开JSON并执行XHR请求,但模板引擎应该可以正常工作

    另一方面,在没有web服务器的情况下尝试在本地运行时,您总是会遇到cors错误。如果您使用的是NODE,则不需要WAMP,因为它是web服务器,应该运行localhost:port,以便您向端点发出XHR请求

    <% for ( i in pg-response){ %>
    <tr><td> <%-pg-response[i].item %></td></tr>
    <%}%>