js得到的数据如何打印出来
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js得到的数据如何打印出来相关的知识,希望对你有一定的参考价值。
下面的代码是在js中<div>处添加id后.php页面就不显示了,
怎样才能把下面js中得到的数据用打印机打印出来
var tipString = "<div>第 <b>" + actionNo['actionNo'] + "</b> 位顾客";
tipString += '<br /><div "><table width="100%"><thead><tr><th>姓名</th><th>编号</th><th>年龄</th><th>性别</th><th></thead>';
$('.touzhu-cont tr').each(function()
var $this = $(this);
tipString += "</tbody><tr><td>" + $('td:eq(0)', $this).text() + "</td><td class='code-list'>" + $('td:eq(1)', $this).text() + "</td><td>" + $('td:eq(2)', $this).data('value') + "</td><td>" + $('td:eq(4)', $this).text() + "</td><td>";
);
tipString += '</tbody></table></div></body>';
tipString += '<br />' + $('.tz-tongji').html();
<html>
<head>
<meta charset="utf-8">
<title>打印测试</title>
</head>
<body>
<div id="printDIV">打印内容放在这</div>
<script type="text/javascript" language="javascript">
var str = document.getElementById("printDIV").innerHTML;
var printWin=window.open("打印窗口", "_blank");
printWin.document.write(str );
printWin.document.close();
printWin.print();
printWin.close();
</script>
</body>
</html>追问
任何div中都不可加id,这源码是一个XX.js
文件中的代码,都不看描述就知道复制粘贴。
任何div中都不可加id,这源码是一个XX.js
文件中的代码,都不看描述就知道复制粘贴。
已经解决了,做了二次开发,不过还是感谢大神的回复
如何将数组从 js 打印到 ejs 模板?
【中文标题】如何将数组从 js 打印到 ejs 模板?【英文标题】:How to print an array from js to an ejs template? 【发布时间】:2022-01-23 04:51:12 【问题描述】:我正在开发一种数据库网站,您可以在其中搜索个人资料。
我正在尝试从数据库查询中打印数据,但我得到:[object Object]。
相关代码:
index.js
router.get('/profile/:name', function(req, res)
db.query("SELECT name FROM people where name='Jack'",function(err,names)
console.log(names);
res.render('template', person: names);
);
);
模板.ejs
<h1>Profile of <%= person %></h1>
使用 console.log 我得到了我的预期:
[ RowDataPacket name: 'Jack' ]
如何在 中只打印姓名“Jack”?
【问题讨论】:
模板只能显示字符串和数字等基元。它不能直接显示对象。因此,您需要在模板中准确添加可以显示对象的哪些属性以及您希望这些不同属性在 HTML 中的格式。 【参考方案1】:模板只能显示字符串和数字之类的内容,这些内容可以使用.toString()
方法直接转换为字符串(因为字符串是必须进入 HTML 的内容)。它不能直接显示一个对象。
当您尝试显示一个对象时,它会调用.toString()
并获取"[object Object]"
,这就是您看到所见的原因。
因此,您需要在模板中准确添加要显示的对象的哪些属性以及您希望这些不同属性在 HTML 中的格式。请参阅模板中的属性本身。我不知道您传递的数据的确切形式,但如果它是一个数组,那么您将不得不引用一个数组索引或在您的模板中创建一个迭代循环以显示数组中的所有名称。
如果您只想要数组中的第一个名称,并且该数组只是名称字符串的普通数组(而不是对象数组),您可以从这里进行更改:
res.render('template', person: names);
到这里:
res.render('template', person: names[0]);
然后,这将在列表中呈现该名字:
<h1>Profile of <%= person.name %></h1>
【讨论】:
db.query 结果为:[object Object] -> name: 'Jack' 。我只想打印第二部分-> Jack。我尝试使用循环或引用属性,但没有奏效。 @Desesperado - 好吧,你的问题显示了这个[ RowDataPacket name: 'Jack' ]
,它是一个对象的数组,所以你必须使用数组语法,然后在数组中的第一项上使用.name
。
但是如何从 db.query 中仅选择数组中的 .name?
@Desesperado - 查看我在答案末尾添加的内容。
我已经尝试过了,但它不起作用。它使用 在网站上打印 "name": "Jack"以上是关于js得到的数据如何打印出来的主要内容,如果未能解决你的问题,请参考以下文章
我正在尝试从字符串中删除反斜杠,但如果我用 print 打印出来,我会得到正确的字符串,但如果我用“po”打印它,我会得到相同的字符串
整理Python中实际上已经得到了正确的Unicode或某种编码的字符,但是看起来或打印出来却是乱码