Как получить данные из Angular в Core JSP? - PullRequest
0 голосов
/ 15 ноября 2018

Я получил нулевое значение в JSP, когда я пытаюсь отправить данные из класса экспорта угловой службы AllService {

  url: any;
   cpHeaders = new Headers({ 'Content-Type': 'application/json' });
   options = new RequestOptions({ headers: this.cpHeaders });

  constructor(private _http: Http) { }

  register(data){
    console.log(data);
    return 
this._http.post('http://localhost:8080/client_api/register.jsp',data)
    .pipe(map((res: Response)=>{ return res.json()}));
  }

Это моя угловая служба, мне нужно прочитать данные на странице jsp

<%@ page import ="java.sql.*" %>
<%@ page import ="javax.sql.*" %>
<%
    String name=request.getParameter("name");  
    String email=request.getParameter("email"); 
    String mobile=request.getParameter("mobile"); 
    String password=request.getParameter("password"); 
    String address=request.getParameter("address"); 
    out.println(name);
    out.println(email);
    out.println(mobile);
    out.println(password);
    out.println(address);
%>

Возвращает нулевое значение

1 Ответ

0 голосов
/ 15 ноября 2018

Ваш Angular-код отправляет ваш data как объект JSON в теле запроса, но ваш код JSP ожидает содержание тела в кодировке url.

Вы можете изменить формат тела запроса, превратив второй аргумент _http.post в HttpParams экземпляр и установив правильный заголовок запроса следующим образом:

import { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';

...

this._http.post(
  '/client_api/register.jsp',
  new HttpParams({ fromObject: data }),
  {headers: new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')}
).pipe(map((res: Response)=>{ return res.json()}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...