我有一个角度应用程序和一个java servlet后端。我需要做的是从angular到backend发送httpRequest。我正在使用httpClient来做到这一点 MyService.ts
import { Injectable, EventEmitter } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable()
export class MyServices {
constructor(private httpClient: HttpClient) {}
public getTables(num: number) {
return this.httpClient.post("url/to/backend",JSON.stringify({number: num}));
}
}
并且在我的servlet中我收到了请求,但是当我使用requset.getParameter获取数字值时,它返回null。我确定当我阅读请求主体时它会返回:
“{” 号码 “:3}”
当我使用request.getParametersName时,它再次返回null。有谁知道我做错了什么?我使用正确的工具发送httpRequest吗?
答案 0 :(得分:1)
尝试将代码交换到return this.httpClient.post("url/to/backend",{'number': num});
,因为如果Web处理程序需要json主体,则不应该对主体进行字符串化
答案 1 :(得分:1)
这不是专家,但是当您以post方法发送请求时,数据就在正文中。在您的servlet中,您正在请求参数中对其进行检查。我认为您必须签入请求正文。我使用的是Spring框架而非servlet,因此无法提供确切的代码。