首页 > 解决方案 > jQuery on click 不能与 express 一起加载车把页面

问题描述

jQuery on click 功能无法与 express 一起使用以路由到车把页面以显示传递的信息。

我试过改变get to post。不使用车把,只使用 html 文件并使用 path.sendFile 或将 res.render 更改为 res.send

这是点击功能

$("#song").on("click", function(){
  var songArtist = $(this).text();

  $.get("/results/:" + songArtist);
});

这里是特快路线

app.get("/results/:songArtist", function(req, res) {
    res.render("songResult");
    //res.sendFile(path.join(__dirname + "./../views/result.html"));
  });

我希望当单击带有歌曲 ID 的 div 加载到新页面时。

标签: javascriptjqueryexpresshandlebars.js

解决方案


去掉前端 JS 中 $.get() 中的 :。: 仅在后端用于表示可变 URL 参数。

因此,在后端,当您在“/results/:songArtist”处收听获取请求时,“/results/”之后的内容现在将在函数中称为 req.params.songArtist。

例如,如果我向“/results/pinkfloyd”发送一个 get 请求,在您上面提供的侦听器函数中,req.params.songArtist === pinkfloyd。


推荐阅读