将对象从 pug 模板发送到 javascript 函数
Send object from pug template to javascript function
我有一个 node.js + pug 应用程序堆栈。我可以发送删除请求,但 put/post 正文请求有问题。
我的哈巴狗 table 看起来像这样
table.table.table-striped.text-center
each order in orders
tr
td #{order.id}
td #{moment(order.date).format('DD.MM.yyyy hh:mm:ss')}
td #{order.total_price} €
td
button.btn.btn-success(onClick="archiveOrder(" + order + ")")
i.fa.fa-archive
td
button.btn.btn-danger(onClick="deleteOrder(" + order.id + ")")
i.fa.fa-trash-o
else
tr
td(colspan=7) There are no items
我在哈巴狗中加入了一个脚本文件,内容如下:
function deleteOrder(id) {
$.ajax({
type: "DELETE",
url: "/orders/" + id,
success: function () {
location.reload()
}
});
}
function archiveOrder(order) {
order.archived = true;
$.ajax({
type: "PUT",
contentType: 'application/json',
dataType: 'json',
url: "/orders/" + order.id,
data: JSON.stringify(order),
success: function () {
location.reload()
}
});
}
呈现正常,删除正常。如何在 javascript 函数中发送我要存档的订单?我尝试了 onClick="archiveOrder(" + order + ")"
和 onClick="archiveOrder(#{order})"
第一个生成
<button class="btn btn-success" onClick="archiveOrder([object Object])" title="Archive order = hide from list">
<i class="fa fa-archive"></i>
</button>
从逻辑上讲,它因 Uncaught SyntaxError: Unexpected identifier
而失败,因为我认为是 [object Object]
字符串。
第二次尝试结果 orders:23 Uncaught SyntaxError: Invalid or unexpected token
如何将对象 order
从 pug 的循环发送到其余端点?
HTML 无法渲染对象。因此,您可以使用 JSON.stringify()
将对象变成刺痛
button.btn.btn-success(onClick="archiveOrder(" + JSON.stringify(order) + ")")
您将在标记中看到一个 JSON 字符串。反之就是JSON.parse()把它解析回一个对象
我有一个 node.js + pug 应用程序堆栈。我可以发送删除请求,但 put/post 正文请求有问题。 我的哈巴狗 table 看起来像这样
table.table.table-striped.text-center
each order in orders
tr
td #{order.id}
td #{moment(order.date).format('DD.MM.yyyy hh:mm:ss')}
td #{order.total_price} €
td
button.btn.btn-success(onClick="archiveOrder(" + order + ")")
i.fa.fa-archive
td
button.btn.btn-danger(onClick="deleteOrder(" + order.id + ")")
i.fa.fa-trash-o
else
tr
td(colspan=7) There are no items
我在哈巴狗中加入了一个脚本文件,内容如下:
function deleteOrder(id) {
$.ajax({
type: "DELETE",
url: "/orders/" + id,
success: function () {
location.reload()
}
});
}
function archiveOrder(order) {
order.archived = true;
$.ajax({
type: "PUT",
contentType: 'application/json',
dataType: 'json',
url: "/orders/" + order.id,
data: JSON.stringify(order),
success: function () {
location.reload()
}
});
}
呈现正常,删除正常。如何在 javascript 函数中发送我要存档的订单?我尝试了 onClick="archiveOrder(" + order + ")"
和 onClick="archiveOrder(#{order})"
第一个生成
<button class="btn btn-success" onClick="archiveOrder([object Object])" title="Archive order = hide from list">
<i class="fa fa-archive"></i>
</button>
从逻辑上讲,它因 Uncaught SyntaxError: Unexpected identifier
而失败,因为我认为是 [object Object]
字符串。
第二次尝试结果 orders:23 Uncaught SyntaxError: Invalid or unexpected token
如何将对象 order
从 pug 的循环发送到其余端点?
HTML 无法渲染对象。因此,您可以使用 JSON.stringify()
将对象变成刺痛button.btn.btn-success(onClick="archiveOrder(" + JSON.stringify(order) + ")")
您将在标记中看到一个 JSON 字符串。反之就是JSON.parse()把它解析回一个对象