2017-09-26 48 views
1

我搜索了网页。我发现了一些事情,但我无法理解任何事情。发送搜索参数获取角度4的请求

我想从我的角度向Node.js服务器发送获取请求。我想为我的服务器发送一些搜索参数。并且它搜索然后返回文档。

我正在使用此功能来发送请求。但我不知道如何在此请求旁边添加广告参数。

GetCases(){ 
     return this.http.get('/api/saleCases') 
     .map((response:Response)=>response.json()); 
    } 

在服务器端

router.get('/saleCases', function(req, res){ 
    console.log('get request for all cases'); 
    Case.find({}).exec(function(err, cases){ 
     if(err){ 
      console.log("error retriving videos"); 
     }else{ 
      res.json(cases); 
     } 
    }); 
}); 

你能帮我在角添加参数和node.js中读?或者有什么方法可以建议我使用?

+0

可能重复[Angular,Http GET with parameter?](https://stackoverflow.com/questions/44280) 303/angular-http-get-with-parameter) –

回答

2

在客户端,首先初始化搜索参数,是这样的:

const searchParams = { 
    params: { 
     param1: val1, 
     param2: val2, 
     ... 
    } 
} 

然后发送请求到服务器端,如:

return this.http.get('/api/saleCases', searchParams) 

在服务器端,您可以访问参数,可以使用:

router.get('/saleCases', function(req, res){ 
    const param1 = req.query.param1; 
    const param2 = req.query.param2; 
}); 
+0

它在searchParams上发生错误。它说:[ts]键入'{param1:number; param2:number; }'没有与'RequestOptionsArgs'类型相同的属性。 –

+0

我相信它期望一个params属性(https://angular.io/api/http/RequestOptionsArgs)。请尝试:const searchParams = {params:{param1:val1,param2:val2,}}, – 0Be95