如何将对象数组传递给jade模板?

2024-05-17

我想将一组对象从 mongodb 传递到客户端......

这是物体

var objeto_img=
                            {
                                name:'name of the file',
                                image:'image.jpg url',
                                title:'title of the image',
                                caption:'descripcion of the image',
                                link:"#",
                            };

在某些配置文件中,有很多图像,因此是一个像这样的对象数组

[var objeto_img=
                            {
                                name:'name of the file',
                                image:'image.jpg url',
                                title:'title of the image',
                                caption:'descripcion of the image',
                                link:"#",
                            },var objeto_img=
                            {
                                name:'name of the file',
                                image:'image.jpg url',
                                title:'title of the image',
                                caption:'descripcion of the image',
                                link:"#",
                            },var objeto_img=
                            {
                                name:'name of the file',
                                image:'image.jpg url',
                                title:'title of the image',
                                caption:'descripcion of the image',
                                link:"#",
                            };]

这是服务器代码

res.render('index/perfil_publicacion_contenido',
    {
        datos:datosRecibidos
    })

datos Recibidos 是来自 mongodb 的对象数组

我试图在玉中放入一个变量

input(type='hidden',id='imagenes',value=datos.img)

但是当我尝试获取对象时

var fotos=$('#imagenes1').val();
            for(foto in fotos)
            {
                console.log(fotos[foto].image)
                console.log(fotos[foto].name)
                console.log(fotos[foto].caption)
                console.log(fotos[foto].title)
            }

控制台日志打印未定义

这是为什么???如何在客户端正确获取数据库信息??? 全部发送


如果我理解正确的话,你想将对象数组序列化到value输入的。尝试这个:

- var jsonString = JSON.stringify(datos)
input(type='hidden',id='imagenes',value=jsonString)

第一行应将对象数组转换为字符串,然后将其放入输入的值中。

然后,当您读取该值时,您将必须解析 JSON。

var fotos = $.parseJSON($('#imagenes1').val());

我假设你使用$暗示您正在使用 jQuery。

更新:解释

如果您希望服务器内存中的对象可供浏览器中运行的 Javascript 使用,则必须将该对象“写入”到页面上。该过程正式称为序列化,使用 Javascript 执行此操作的方法是JSON.stringify。一旦进入页面value输入的,它只是一个字符串。页面上的 JavaScript 必须将该字符串转换为对象(或者在本例中为对象数组)。这就是 JSON.parse 的用武之地。因为较旧的浏览器没有 JSON.parse,所以您应该使用像 jQuery.parseJSON 这样的 polyfill,以确保即使是较旧的浏览器也能够将 String 转换为 Javascript 对象。

顺便说一句,如果您不需要特定的数据hidden input但你认为这是最好的方法,让我建议另一种方法。如果你的目标是拥有var fotos包含的值datos从服务器,您可以直接在<script>页面上的标签。在 Jade 中执行此操作的方法如下:

script
  var fotos = #{JSON.stringify(datos)};

查看这个问题 https://stackoverflow.com/questions/8437295/jade-template-how-to-pass-concrete-object-to-pages关于将对象传递到页面。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将对象数组传递给jade模板? 的相关文章

随机推荐

  • 如何在c#中生成8字节GUID值? [复制]

    这个问题在这里已经有答案了 可能的重复 如何从 GUID 生成 8 字节唯一 ID https stackoverflow com questions 5678177 how to generate 8 bytes unique id fr
  • flutter:动画过渡到命名路线

    当我使用Navigator pushNamed context someRoute 有一个最小的动画 从屏幕底部沿着新路线滑动 在 Android 上 在 iOS 上可能看起来不同 如何向此过渡添加自定义动画 I found 本文 http
  • Firebug 控制台窗口范围。为什么“这个”不总是一样的?

    Firebug 控制台范围 为什么 这个 不总是一样的 难道不应该一直是 窗口 吗 的价值this控制台中的值将与this在当前正在执行的代码中 考虑 function outer this is window var x n 12 var
  • 用颤动画布在形状上切一个洞

    如何使用颤动画布在形状上 切一个洞 我有一组相当复杂的形状 看起来像现实世界的物体 该物体上有一个圆角矩形形状的孔 我真的很想从形状中减去 RRect 但我找不到任何有关如何执行此操作的信息 canvas clipRRect myRRect
  • scala 返回列表中的第一个 Some

    我有一个清单l List T1 目前我正在执行以下操作 myfun T1 gt Option T2 val x Option T2 l map myfun l flatten find gt true The myfun函数返回 None
  • php - 我应该加密电子邮件地址吗?

    当用户注册时 我应该将他们的电子邮件按原样存储在数据库中还是对其进行哈希处理 我希望稍后能够解密 那么我应该使用 md5 吗 谢谢你 No md5 is 单向哈希函数 http en wikipedia org wiki Cryptogra
  • 这个对自身单位的列表理解是如何工作的?

    在 haskell IRC 频道中有人问 是否有一种简洁的方法来定义一个列表 其中第 n 个条目是之前所有条目的平方和 我认为这听起来像一个有趣的谜题 递归定义无限列表是我真正需要练习的事情之一 所以我启动了 GHCi 并开始尝试递归定义
  • 可以购买哪些 FPGA(现场可编程门阵列)在家中进行实验? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 什么是 FPGA 在哪里可以买到 它们要花多少钱 您需要什么样的系统来试验它们 如何对它们进行编程 如果这是正确的术语 您能否使用普通 M
  • TypeScript 支持互斥类型吗?

    我有一个带有参数的方法 我希望 TypeScript 验证传入的对象 在编译时 我知道运行时是一种不同的动物 仅满足允许的接口之一 Example interface Person ethnicity string interface Pe
  • 如何设置 jQuery DataTables 中特定列的最大宽度

    如何设置一个特定列的最大宽度 所有其他列应自动调整大小 我已经尝试了下面的代码 但它不起作用 因为我认为没有 最大宽度 属性 table dataTable paging false info false searching false c
  • Mockito 在调用参数数量可变的方法时使用参数匹配器

    我试图在对具有可变数量参数的方法的调用中使用参数匹配器 Java 中的东西 没有成功 我的代码如下 我还将列出我尝试用来完成此工作的所有行 import static org mockito Mockito public class Met
  • 如何绘制每条线之间具有特定距离的图形

    实际上 我尝试绘制一个图形 但它将所有列 线 放在一起并显示 因此它不具有代表性 我尝试制作模拟数据并向您展示我如何绘制它 并向您展示我想要的内容 我不知道如何制作像下面所示的示例的数据 但我在这里做了什么 set seed 1 M lt
  • Node.js 中的 PHP exit()/die() 等价物是什么

    什么是 PHP die http www php net manual de function die php http www php net manual de function die php 在 Node js 中等效吗 https
  • 如何在ionic 2中创建覆盖页面?

    当我进入新页面时如何创建透明的引导覆盖页面 我如何在 ionic 2 中实现 您可以在外部创建 div
  • php 中的简单授权/登录功能

    我希望第一次实现用户登录到我的网站 我很高兴构建自己的解决方案 或者实现一些开源的东西 但是到目前为止 在我的搜索中没有任何包是明显的选择 同样 我完全意识到 作为一名中级 php 程序员 如果我推出自己的解决方案 并真正敞开大门 我很可能
  • mvc core 2.0,如何通过配置使用appSettings.json文件

    今天 我正在尝试新的 asp net core 2 0 但使用 JSON 配置文件时遇到了一些麻烦 我没有在 IConfiguration 配置构造函数属性中注入该文件 在 asp net core 1 1 中 我将在 StartUp 中使
  • .profile 无法从 Mac 终端运行

    我有一个 profile 文件 我正在终端中读取并使用别名 但在某些时候 别名由于没有明确的原因而停止工作 其他命令仍在工作 为了快速修复 我删除了 rm 并在用户目录中重新创建了 profile 文件 我可以看到 至少在该目录中没有 ba
  • 将字符串连接到python列表中所有元素的末尾

    我想知道如何将字符串连接到列表中所有元素的末尾 例如 List1 1 2 3 string a output 1a 2a 3a 在列表理解和使用中重建列表str format在两个参数上 gt gt gt string a gt gt gt
  • apache htaccess 将第一个段映射为参数而不干扰其他参数

    这可能是一个经典的 htaccess 问题 但我仍然找不到适合我的具体情况的问题 这是closest https stackoverflow com questions 9299793 apache httaccess rewriting我
  • 如何将对象数组传递给jade模板?

    我想将一组对象从 mongodb 传递到客户端 这是物体 var objeto img name name of the file image image jpg url title title of the image caption d