【发布时间】:2018-11-11 15:58:54
【问题描述】:
我正在尝试创建一个网站,我需要检索所选项目预览的完整数据。
例如:亚马逊为您提供与您的搜索查询匹配的所有产品,然后您可以点击它们进入单个产品页面。 我也想做同样的事情。
到目前为止,我已经将我的搜索和动态加载项写入我的页面:
1) 我有一个 node.js 服务器,它使用包含元素列表(在我的例子中是医生)的 JSON 文件响应 get 请求
app.get('/doctors', function(req,res){
var config = require('./doctor.json');
config.forEach(function(dottore) {
var tableName = dottore.name;
console.log(tableName);
});
res.send(JSON.stringify(config));
})
2) 我从客户端 javascript 发出请求,如下所示:
$.get( '/doctors', function(data) {
$("<div class='row' id='dottori' ></div>").appendTo(".team");
console.log(typeof data)
JSON.parse(data).map(addElement);
});
function addElement(doctor){
console.log("Adding doctor");
id=doctor.id;
console.log(id);
$("#dottori").append('<div class="col-md-4 ml-auto mr-
auto"><a href="./personaleGenerico.html" class="card card-
profile card-plain"><div class="btn btn-primary card-header card-header-image image-camminiamo"><img class="img" src="../assets/img/faces/4.jpg"></div><div class="card-body "><h3 class="card-title">'+doctor.name+'</h3><h4>Dott. in '+doctor.job+'</h4></div></a></div>');
}
而且效果很好。
我现在需要做的是点击我的医生的预览并加载页面personaleGenerico.html,其中应该包含有关该医生的完整信息。
我不知道如何将我服务器上的数据(这是一个包含所有医生的所有信息的 JSON)与我点击的元素相关联。
例如:如果我单击第一个名为“John”的医生,我将转到页面personaleGenerico.html,其中包含该特定医生的信息(这些信息都在我的 JSON 文件中可用)
【问题讨论】:
-
我想我理解你的问题,但不是 100% 肯定。 “personaleGenerico.html”是您要根据点击的医生填充信息的通用页面吗?
-
是的,没错!
-
有很多方法可以做到这一点。可以说最简单的方法是向您的后端添加一条路线,让您可以通过 id 选择特定的医生。然后调用您的页面,例如personaleGenerico.html?id=1。使用该 id 参数,通过 ajax 将其传递给新的后端路由,并在您认为合适的时候使用该数据。解释如何在答案中完成所有这些操作将花费太多时间。如果你能缩小你的问题范围,这将有助于指导答案。
-
对不起,如果我把问题留得太“开放”。我是这个领域的初学者,你能建议我如何改进我的问题以使其更清晰和更窄吗?我实际上不知道我具体需要什么来解决我的问题,这就是为什么我的问题有点“宽泛”。顺便说一下你的解决方案,我知道如何解决这个问题,谢谢!
标签: javascript jquery html node.js