Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用参数发送GET请求_Node.js_Angular - Fatal编程技术网

Node.js 如何使用参数发送GET请求

Node.js 如何使用参数发送GET请求,node.js,angular,Node.js,Angular,我正在构建一个简单的MEAN应用程序,但是在使用GET方法时遇到了一些问题 我在我的mongo集合中插入了一些数据,现在我想获得所有作为参数传递其Id的结果,但angular返回给我以下内容: 我已经搜索了Header和httpParams,但似乎找不到解决方案。 我也在postman上进行了测试,使用Get并将一个body作为JSON传递,结果成功了,我在从服务器发送它的body时遇到了麻烦 这是我的密码: 角度服务 import { Injectable } from '@angula

我正在构建一个简单的MEAN应用程序,但是在使用GET方法时遇到了一些问题

我在我的mongo集合中插入了一些数据,现在我想获得所有作为参数传递其Id的结果,但angular返回给我以下内容:

我已经搜索了Header和httpParams,但似乎找不到解决方案。 我也在postman上进行了测试,使用Get并将一个body作为JSON传递,结果成功了,我在从服务器发送它的body时遇到了麻烦

这是我的密码:

角度服务

  import { Injectable } from '@angular/core';
  import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
  import { Observable } from 'rxjs';
  import { map } from 'rxjs/operators';

  @Injectable({
    providedIn: 'root'
  })
  export class WebService {
    public api = "http://localhost:3000/";
    //NODE API
    public getRate(param: any){
      console.log(param);
      return this.http.get(this.api + "api/rate", {_id: param})
    }
}
NodeJs函数

        module.exports.countVotes = function(req, res) {

        console.log(req.body._id);

        VoteModel.find({movie_id: req.body._id}, (err, rate) => {
            if(err){
                console.log('rate not found', err)
                return res.status(404).json({
                    message: 'failed to get movie rate'
                })
            } else {
                res.status(200).json(rate);
                console.log(rate);
            }
        })
    }
节点在调用时返回未定义的me req.body。
我错过了什么?请有人帮帮我。

您必须在http.get-

import { Injectable } from '@angular/core';
  import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
  import { Observable } from 'rxjs';
  import { map } from 'rxjs/operators';

  @Injectable({
    providedIn: 'root'
  })
  export class WebService {
    public api = "http://localhost:3000/";
    //NODE API
    public getRate(param: any){
      let params = new HttpParams().set('_id', param);
      console.log(param);
      return this.http.get(this.api + "api/rate", { params: params })
    }
}

它不起作用,因为GET请求没有请求正文。您可以尝试将POST request与请求正文一起使用,或将id作为请求参数或路径变量传递给GET request。

,GET request没有正文。