如何通过节点js服务器将Json对象发送到express-handlebars html?

苏拉夫米尔

我使用 node js 后端和 express-handlebars 作为前端模板。我正在从我的 mysql 数据库中获取 json 文件并将其发送到我的dashboard.hbs 文件。问题是 json 将进入浏览器,只要从 html 访问它,它就会显示所有内容,但在脚本内部它会发疯。任何人都可以告诉我我做错了什么我已经浏览了很多网站以及这个这个这些都不起作用。我还在我的 hbs 中使用了 register helper 来字符串化 json,但它仍然向我展示了奇怪的转换后的 json。这是我的代码

  exports.dashboard = function (req, res) {
//var dashboards=dashboardModel.findAll({ include: [{ all: true }]});
var dasboard = null;
dashboardModel.findAll().then(dasboards => {
  dasboard = dasboards;
  if (dasboard.length > 0)
    console.log(dasboard[9].monster);
  else
    console.log('no dashboard');

    var jsss=JSON.parse(dasboard[9].monster);
    var st=JSON.stringify(jsss);

    console.log(st);

  res.render('dashboard', {
    dasboard: dasboard,
    js:jsss

  });
})

}

这是我的模板

        <!DOCTYPE html>
    <html>

    <head>
        <title>FaceMask API</title>
    </head>

    <body>
        <h2>The list of Monsters</h2>

        {{#if dasboard}}
        <table>
            <tr>
                <th>PRODUCT ID</th>
                <th>GIF_ID</th>
                <th>GIF_TITLE</th>
                <th>PRICE</th>
                <th>Monster </th>
                <th>GIF_PACK</th>
            </tr>
            {{#each dasboard}}
            <tr onclick="gotoEditDashboard('{{this.id}}')">
                <td>{{this.product_id}}</td>
                <td>{{this.gif_id}}</td>
                <td>{{this.gif_titile}}</td>
                <td>{{this.price}}</td>
                <td>{{this.monster}}</td>
                <td>{{this.gif_pack}}</td>
            </tr>


            {{/each}}
        </table>
        {{else}}
        <p> No Data Available {{dasboard}}</p>
        {{/if}}
    <script src="javascripts/dashboard.js"></script>
    <script type="text/javascript">
    var j="{{{ js}}}";
    //var jsss=JSON.parse(j);
    console.log(j[2].toString());
    //console.log("asd: "+jsss[0].fileName);
    </script>

    </body>

    </html>

我在我的服务器中打印了 json 就像

[{"fileName":"blob_1527417588127.jpg","fileLink":"localhost:3000/img/blob_1527417588127.jpg"},{"fileName":"blob_1527417588127.jpg","fileLink":"localhost:3000/img/blob_1527417588127.jpg"}]

但是在浏览器中,如果我尝试将其解析为 json 或尝试直接使用它,我只会得到一个对象,则会发生错误。我已经说过我尝试将 registerHelper 用于 express-handlebars 如果它这样做然后我得到以下 json

[{&quot;fileName&quot;:&quot;blob_1527417588127.jpg&quot;,&quot;fileLink&quot;:&quot;localhost:3000/img/blob_1527417588127.jpg&quot;},{&quot;fileName&quot;:&quot;blob_1527417588127.jpg&quot;,&quot;fileLink&quot;:&quot;localhost:3000/img/blob_1527417588127.jpg&quot;}]

奇怪的是在 html 部分,我也在打印怪物 json,它显示得很完美,但是当我从我的脚本中打印时,它会发疯。谁能帮我吗??

苏拉夫米尔

这很奇怪,但我找到了我自己问题的答案。也许它会帮助一些和我掉进同一个坑的人。因此,在 html 文件内的脚本中,您编写以下内容来解码和 json 对象数组

{{#each js}}
      var obj = {};
      {{#each this}}
        obj.{{@key}} = '{{this}}';
      {{/each}}
      m.push(obj);
    {{/each}}

这就是您在服务器中编写的内容。

    var k=[];
    var s={
    "a":"as",
    "b": "ee"
};

var s1={
    "a":"ast",
    "b": "eet"
};
k.push(s);
k.push(s1);


app.get('/', function(req, res){
    res.render('index', {js:k});
  });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Express 4.0:找不到模块“ html”和找不到模块“ handlebars”

来自分类Dev

如何通过进行Ajax调用将html表单数据发送到node.js服务器?

来自分类Dev

如何使用Gulp将JSON和Handlebars从局部转换为HTML?

来自分类Dev

如何将JSON数据从节点js脚本发送到其他服务器上的HTML文件

来自分类Dev

如何在Handlebars局部中插入HTML块

来自分类Dev

将数据从javascript / html页面发送到Express NodeJS服务器

来自分类Dev

如何在不使用任何模板引擎的情况下将某些上下文从节点服务器发送到html模板

来自分类Dev

如何将数据从客户端的html发送到node.js服务器?

来自分类Dev

如何复制HTML和用户输入,然后通过HTTP请求将其发送到服务器?

来自分类Dev

如何将图像直接从Flask服务器发送到html?

来自分类Dev

Java服务器将HTML页面从文件发送到浏览器

来自分类Dev

如何将数据(字符串)从html发送到服务器(节点或express)并执行某些功能?

来自分类Dev

如何使用handlebars.js在帮助器中允许html标签

来自分类Dev

如何强制Angular在HTML5模式下将请求发送到服务器?

来自分类Dev

使用HandleBars.js创建HTML表

来自分类Dev

通过handlebars.js延迟HTML生成

来自分类Dev

如何将HTML表单数据发送到Java http服务器

来自分类Dev

在.handlebars / html中显示图像

来自分类Dev

express-handlebars#if语句

来自分类Dev

如何在Handlebars(客户端)中打印从Node JS服务器发送的JSON对象数组?

来自分类Dev

使用 Node.js 和 express-handlebars 从 JSON 文件渲染 html

来自分类Dev

节点 js 将 html 发送到网络,而不仅仅是本地主机服务器

来自分类Dev

如何将 HTML 页面从 C 网络服务器发送到网络浏览器

来自分类Dev

Handlebars.compile 抛出异常“错误:您必须将字符串或 Handlebars AST 传递给 Handlebars.compile。你通过了 <html>...'

来自分类Dev

将 Handlebars HTML 分成多个文件/部分

来自分类Dev

如何使用 express.js 框架将数据发送到 HTML 页面以及如何在 NodeJS 服务器中使用 AJAX 进行单页应用程序?

来自分类Dev

通过 HTML 表单页面安全地将 JSON 发送到服务器

来自分类Dev

如何从 hbs(handlebars) 页面重定向到 html 页面

来自分类Dev

HTML 名称/值按钮属性未通过 POST 请求发送到服务器

Related 相关文章

  1. 1

    Express 4.0:找不到模块“ html”和找不到模块“ handlebars”

  2. 2

    如何通过进行Ajax调用将html表单数据发送到node.js服务器?

  3. 3

    如何使用Gulp将JSON和Handlebars从局部转换为HTML?

  4. 4

    如何将JSON数据从节点js脚本发送到其他服务器上的HTML文件

  5. 5

    如何在Handlebars局部中插入HTML块

  6. 6

    将数据从javascript / html页面发送到Express NodeJS服务器

  7. 7

    如何在不使用任何模板引擎的情况下将某些上下文从节点服务器发送到html模板

  8. 8

    如何将数据从客户端的html发送到node.js服务器?

  9. 9

    如何复制HTML和用户输入,然后通过HTTP请求将其发送到服务器?

  10. 10

    如何将图像直接从Flask服务器发送到html?

  11. 11

    Java服务器将HTML页面从文件发送到浏览器

  12. 12

    如何将数据(字符串)从html发送到服务器(节点或express)并执行某些功能?

  13. 13

    如何使用handlebars.js在帮助器中允许html标签

  14. 14

    如何强制Angular在HTML5模式下将请求发送到服务器?

  15. 15

    使用HandleBars.js创建HTML表

  16. 16

    通过handlebars.js延迟HTML生成

  17. 17

    如何将HTML表单数据发送到Java http服务器

  18. 18

    在.handlebars / html中显示图像

  19. 19

    express-handlebars#if语句

  20. 20

    如何在Handlebars(客户端)中打印从Node JS服务器发送的JSON对象数组?

  21. 21

    使用 Node.js 和 express-handlebars 从 JSON 文件渲染 html

  22. 22

    节点 js 将 html 发送到网络,而不仅仅是本地主机服务器

  23. 23

    如何将 HTML 页面从 C 网络服务器发送到网络浏览器

  24. 24

    Handlebars.compile 抛出异常“错误:您必须将字符串或 Handlebars AST 传递给 Handlebars.compile。你通过了 <html>...'

  25. 25

    将 Handlebars HTML 分成多个文件/部分

  26. 26

    如何使用 express.js 框架将数据发送到 HTML 页面以及如何在 NodeJS 服务器中使用 AJAX 进行单页应用程序?

  27. 27

    通过 HTML 表单页面安全地将 JSON 发送到服务器

  28. 28

    如何从 hbs(handlebars) 页面重定向到 html 页面

  29. 29

    HTML 名称/值按钮属性未通过 POST 请求发送到服务器

热门标签

归档