Javascript 在respone.send in NodeJS之后停止显示JSON结果
我有一个respone.send-in nodejs应用程序:Javascript 在respone.send in NodeJS之后停止显示JSON结果,javascript,node.js,express,ejs,Javascript,Node.js,Express,Ejs,我有一个respone.send-in nodejs应用程序: this.app.post('/profile', (req, res) => { let password = req.body.password; let newWallet = operator.createWalletFromPassword(password); let pr
this.app.post('/profile', (req, res) => {
let password = req.body.password;
let newWallet = operator.createWalletFromPassword(password);
let projectedWallet = projectWallet(newWallet);
return res.send(projectedWallet);
});
每次我在html中按下按钮,它总是在html页面中发布并返回JSON结果
{"id":"f4c02f2463c8f83218f324d4193e08b8812fe914e24063217d29e65966abbe85","addresses":[]}
但是我不想看到它,那么我如何隐藏或重定向到另一个页面(比如我之前设置的“/profile”)
编辑:这是我的客户端代码
<form action="/profile" method="post">
<p>
<% var ten = user.username %>
<strong>id</strong>: <%= user.id %><br>
<strong>username</strong>: <%= ten %><br>
<strong>password</strong>: <%= user.password %>
</p>
<p id="passwd" name="passwd" ><%= user.username %></p>
<textarea id="myTextArea" cols=50 rows=10></textarea>
<!-- these fields will be sent to server -->
<input type="hidden" name="username" value="<%= user.username %>">
<input type="hidden" name="password" value="<%= user.password %>">
<button type="submit" class="btn btn-warning btn-lg" onclick="/profile">Wallet</button>
</form>
id:
用户名:
密码:
钱包
问题在于您正在从浏览器向节点发送帖子。此帖子的结果将通过浏览器显示
如果不想看到JSON数据,请更改:
return res.send(projectedWallet);
例如:
res.redirect('new url');
或:
或:
如果您确实想要JSON,我建议您从以下位置进行更改:
return res.send(projectedWallet);
致:
因为这会设置所有正确的头并正确地字符串化JSON输出
更新
如果您想创建一个表单来发布您的值,然后将JSON放入一个文本区域,正如您在对这个答案的评论中所描述的那样,那么您需要使用客户端java脚本和AJAX调用
有关更多详细信息,请参阅。单击按钮并获得成功响应后禁用该按钮如何?不,我的意思是:我仍然希望显示此结果(因为它工作正常),但在console.log中显示,而不是在html页面中显示。好的,您也必须显示客户端代码。谢谢。但就像你现在说的,它不会出现在我的页面上。但是,您是否有办法将json结果放入客户端代码的textarea中?
res.send('I hate json! ;)');
return res.send(projectedWallet);
res.json(projectedWallet);