代码之家  ›  专栏  ›  技术社区  ›  user1828605

如何将阵列作为数据从角度传送到路由器?

  •  1
  • user1828605  · 技术社区  · 4 年前

    我正试图从数据库中获取更多的ID的详细信息,但我还没能想出如何做到这一点。

    下面是一组项目:

    var memberIds = ["2892056", "2894544", "2894545", "2894548", "2894550", "2894553", "2894555"];
    var teamId = '123434';
    var categoryId = 6;
    
    // POST  from angular
    getMembersDetail(teamId, categoryId, memberIds) {
    
        let params = teamId + '/' + categoryId;
    
        return this.http.post(baseURL + 'member-details/' + params, memberIds);
      }
    

    我以前尝试过用数据获取请求,但没有成功。我一直收到快递的404错误。所以,我尝试了POST请求,但这也给了我404错误。

    然后在express中:

    router.post('member-details/:teamId/:categoryId', function(req, res){
    
      const getMemberDetails = async() => {
        try{
          const categoryId = req.params.categoryId;
          const teamId = req.params.teamId;
          const memberIds = req.body;
          const config = {
            header: {
              'Content-Type': 'application/x-www-form-urlencoded'
            }
          };
    
          var url = baseUrl + 'member-details/' + teamId + '/' + categoryId + '/';
    
          const response = await axios.post(url, memberIds, config);
    
          res.send(respose.data);
    
        } catch {
          res.status(error.response.status).send(error.response.data);
        };
      }
      getMemberDetails();
    });
    

    注意 :Express router使用axios进行进一步的post。这是一个 R Plumber 应用程序编程接口。请忽略这一部分。我只是有问题得到快速路由器的数据和参数。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Kuni    4 年前

    如果 baseURL 已经包含 \ 在快速路由器里。在你的 member-details 像这样,

    router.post('/member-details/:teamId/:categoryId', function(req, res)
    

    /