gpt4 book ai didi

javascript - 通过 AJAX 渲染 Jade 模板并尝试独立于 HTML 传递/访问数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:20 25 4
gpt4 key购买 nike

我正在通过 res.render 使用 Express 在 ajax 调用上渲染 Jade 模板。问题是我想随 HTML 一起传回一些 JSON 变量或 Javascript 对象。

这是否可能以一种优雅的方式实现,或者根本不可能实现?我知道我可以将脚本标记与 HTML 一起传递,但我不确定如何直接在“数据”响应中访问这些值。

示例如下:

- var someNumber = 89
h1 Hello World
li #{someNumber}

通常在 ajax 调用中,您会在该模板的 res.render() 中返回

<h1> Hello Wolrd </h1>
<li> 89 </li>

全部采用 HTML 格式。

如何访问回调中的 HTML Node 之一?最好使用 jQuery 选择器,例如 $('h1 li')。我需要访问回电中的号码,但它似乎没有捕获它。我正在考虑监听器或添加延迟,或者可能我需要将其分配给字符串并将其解析出来。

最佳答案

不完全确定我理解这个问题。但是,要通过 Jade 将 JSON 直接传递到浏览器。在您的路线逻辑中,您需要类似以下内容:

    res.render "test",
title: "Test"
debugJson: {
'Read Folder Result' : result,
'HTTP' : {
'Req URL' : req.url,
'Req Query' : req.query,
'Req User' : req.user,
'Req Headers' : req.headers,
'Req' : req,
'Res' : res
}
}

(抱歉,这是在 CoffeeScript 中而不是 JS 中)

在你的 Jade 模板中,你需要有类似的东西(在脚本中):

var myJson = !{JSON.stringify(debugJson)};

它将把 JSON 直接传递到脚本中。如果你希望它直接进入 DOM,比如:

#debug !{JSON.stringify(debugJson)}

这会将其转储到 div 中。

如果您只想在 Jade 模板中处理它,您可以简单地在 Jade 中使用循环。看这个previous StackOverflow question了解如何做到这一点。

关于javascript - 通过 AJAX 渲染 Jade 模板并尝试独立于 HTML 传递/访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10491024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com