gpt4 book ai didi

javascript - 如何在 NODE JS Express 中从 Controller 传递信息以查看

转载 作者:行者123 更新时间:2023-12-03 06:39:26 25 4
gpt4 key购买 nike

我对 NodeJS 还很陌生。我正在尝试创建一个接受多个输入的表单。该表单的功能之一是接收输入 --> ISBN 并自动从 API 获取信息并将其添加到输入字段中。但是,我无法将信息从 Controller 传递到 View 。

我有一个 View :newbook.jade有两种形式

 form#form_search_book(name="search", method="post", action="/searchbook")
span ISBN
span  
input#input_isbn(type="text", placeholder="isbn", name="isbn")
button#search_book(type="search") search
br
br
form#form_add_book(name="addbook", method="post", action="/addbook")
span Book Name
span  
input#input_name(type="text", placeholder="book name", name="book_name")

我有 NodeJS Controller :index.js,它执行/searchbook 表单,然后重定向回/newbook 页面。当它重定向到新书页面时,来自 API 的信息应该传递到输入表单......但我一直在努力解决如何做到这一点。任何帮助将不胜感激。

    router.get('/newbook', function(req, res){
res.render('newbook', {title: 'Add New Book' });

router.post('/searchbook', function(req, res){
var isbn=req.body.isbn;
var url="http://isbndb.com/api/v2/json/63JEP95R/book/"+isbn;
request({
url: url,
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body.data\[0\].isbn13) // Print the json response
}
});
res.redirect('/newbook');
document.getElementById('input_name').value=body.data\[0\].title;
document.getElementById('input_isbn').value=body.data\[0\].isbn13;


});
});

Link to the view

最佳答案

我认为您对客户端运行的代码和服务器端运行的代码感到困惑。此代码仅适用于浏览器,不适用于 NodeJS。

document.getElementById('input_name').value='......';

您需要通过重定向方法中的查询字符串传递您的值。

我想您可以在这篇文章中找到答案: How do I redirect in expressjs while passing some context?

关于javascript - 如何在 NODE JS Express 中从 Controller 传递信息以查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38030303/

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