POST отправляются как GET в nativescript / angular - PullRequest
0 голосов
/ 14 ноября 2018

Я создаю приложение на родном языке с Angular, но мой http-запрос ВСЕ отправляется с помощью GET, хотя я идентифицирую его как POST. В результате бэкэнд отклоняет мне запрос.

Вот мой почтовый индекс:

_post(url: string, params?: any): Promise<any> {
    return new Promise<Response>((resolve, reject) => {
      const res = new Response();
      request({
        url: this.endpoint + url,
        headers: { Cookie: this.authService.getCookie() },
        content: JSON.stringify(params),
        method: "POST"
      }).then((response: HttpResponse) => {
          try {
            if (response.statusCode !== 200) {
              if (response && response.content) {
                res.failed(response.content.toString());
              } else {
                res.failed("Usuario no autorizado");
              }
            } else {
              res.wasSuccess(response.content.toJSON());
            }
          } catch (error) {
            res.failed("Usuario no autorizado");
          }
          resolve(res);
      }, (e) => {
        res.failed("ERROR");
        resolve(res);
      });
  });
  }

Но когда я проверял отладку

enter image description here

enter image description here

Ответы [ 3 ]

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

Используя Angular + Nativescript, я определенно рекомендую внедрить угловой модуль http в ваш компонент, а затем использовать его для выполнения http-вызовов.

import { Injectable } from '@angular/core';
import { HttpClient } from "@angular/common/http";

@Injectable()
export class APIService {
    path: string = "http://some_server_url:3000/route/";

    constructor(public http: HttpClient) { }

    someMethodName(id: string): Promise<any> {
        return this.http.post(this.path + id).toPromise().then(response => {
            if (response)
                return response;
            else
                return null;
        });
    }
}
0 голосов
/ 14 ноября 2018

Проверка httpClient of Angular https://angular.io/api/common/http/HttpClient.

Это пример работы HttpClient над Angular: https://stackblitz.com/edit/httprequest

Я бы посоветовал вам пойти по этому пути.

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

Попробуйте использовать HttpClient API. Если у вас все еще есть проблемы, пожалуйста, поделитесь примером Playground.

...