通过路线发送参数

时间:2018-06-14 18:36:38

标签: javascript node.js ajax express

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

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

然后我使用这条路线:

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

不应该这样吗?

2 个答案:

答案 0 :(得分: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;
});

答案 1 :(得分:2)

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