javascript 如何通过输入按钮而不是在URL栏中键入(req.param)(& I

dm7nw8vv  于 2023-01-04  发布在  Java
关注(0)|答案(2)|浏览(101)

我试图从用户输入并发送到他们键入的URL。
通过将其与url =“http://localhost:3000/"+"/:用户输入”连接
首先,我尝试从用户获取输入,并使用DOM方法创建链接

<script>
function myFunction() {
  var x = document.getElementById("newLis").value;
  document.getElementById("btn").href ='/' + x;
 console.dir(x);
}
</script>

并尝试将其附加到链接href,但没有成功。
其次,我尝试通过post路由访问输入值,并尝试直接将其发送进来

app.get("/:pathName",(req,res)=>{
const pathName = _.capitalize(req.params.pathName);


//console.log(Array.isArray(pathName));
List.findOne({name : pathName}, (error, results)=>{

  if (!error){
    if(!results){
  //prompt("Hello! I am an alert box!");
     const list = new List({
     name : pathName,
     items : def
        })
     list.save();
     List.aggregate();
     res.redirect('/' + pathName);
  }else {
    res.render("list", {listTitle: results.name, newListItems: results.items});
      }
  }
});
});

但我不知道它是怎么运作的。

l0oc07j2

l0oc07j21#

id为“newLis”,然后将id为“btn”的元素的href属性设置为用户输入的值,并在开头追加“/”。

nimxete2

nimxete22#

在post请求中,获取用户使用req.body.name键入的URL的值。连接字符串以获取完整路径,然后将用户重定向到该路径

app.post("/yourpath",(req,res)=>
{
  const path= "/"+req.body.name;
  res.redirect("path");
}

这里name是input标签中name属性的值。

相关问题