【问题标题】:sending params through routes通过路由发送参数
【发布时间】:2018-11-24 14:36:00
【问题描述】:

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

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

然后我使用这条路线:

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

这不应该工作吗?

【问题讨论】:

  • 您是否尝试在浏览器上查看请求以查看发送的内容?

标签: javascript node.js ajax express


【解决方案1】:

您的问题似乎是试图从您的客户端访问文件系统的相对路径,并且没有从您的端点发送响应这一事实。试试这个(使用 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({});
});

【讨论】:

    【解决方案2】:

    试试这个方法:

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

    那么路线应该是:

    app.get("/users/:id", function (req, res) {
       var id = req.params.id;
    });
    

    【讨论】:

      猜你喜欢
      • 2019-10-28
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多