从Angular向Java Servlet发送请求

时间:2018-01-24 12:59:05

标签: java angular servlets httprequest angular-httpclient

我有一个角度应用程序和一个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吗?

2 个答案:

答案 0 :(得分:1)

尝试将代码交换到return this.httpClient.post("url/to/backend",{'number': num});,因为如果Web处理程序需要json主体,则不应该对主体进行字符串化

答案 1 :(得分:1)

这不是专家,但是当您以post方法发送请求时,数据就在正文中。在您的servlet中,您正在请求参数中对其进行检查。我认为您必须签入请求正文。我使用的是Spring框架而非servlet,因此无法提供确切的代码。