首页 > 解决方案 > 通过路由发送参数

问题描述

我试图通过 URL 传递一些参数,我试图这样做但它不起作用,“get(\users:id)”可能是错误的,但我不确定正确的方法是什么:

    $.ajax({
    type: 'GET',
    URL: "'../users/"+id+"'",
    success: function(data) {           
      console.log("success");             
    }        
    })

然后我使用这条路线:

  app.get('/users/:id', function(req, res) {});

这不应该工作吗?

标签: javascriptnode.jsajaxexpress

解决方案


您的问题似乎是试图从您的客户端访问文件系统的相对路径,并且没有从您的端点发送响应的事实。试试这个(使用 fetch 是较新的方法而不是 $.ajax):

fetch('/users/' + id)
   .then(function(response) {
      return response.json();
   })
   .then(function(myJson) {
      console.log(myJson);
   });

在您的服务器中:

app.get('/users/:id', function(req, res) {
    console.log(req.params); // this should be an object containing an `id` param
    res.send({});
});

推荐阅读