我正在构建一个简单的MEAN应用程序,但是GET方法面临一些问题。
我在mongo集合中插入了一些数据,现在我想获取所有通过Id作为参数的结果,但是angular向我返回了以下内容:
我已经搜索了标头和httpParams,但似乎找不到解决方案。 我也对邮递员进行了测试,使用Get并将主体作为JSON传递,并且它起作用了,但我遇到了从角度发送主体的麻烦
这是我的代码:
角度服务
first heading
1 paragraph
2 paragraph
second heading
3 paragraph
4 paragraph
NodeJs功能
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})
}
}
节点被调用时返回undefined给我req.body。 我想念什么?请有人帮我。
答案 0 :(得分:1)
它不起作用,因为GET请求没有请求正文。您可以尝试将POST请求与请求正文一起使用,或将ID作为请求参数或路径变量传递给GET请求。
答案 1 :(得分:-1)
您必须在http.get中传递HttpPrams的实例-
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 })
}
}