POST以GET的形式发送到本地脚本/角度

时间:2018-11-14 13:48:13

标签: angular nativescript angular2-nativescript

我正在使用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 :(得分:3)

使用Angular + Nativescript,我绝对建议您将angular 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;
        });
    }
}

答案 1 :(得分:0)

尝试使用HttpClient API。如果仍然遇到问题,请分享Playground示例。

答案 2 :(得分:0)

检查Angular https://angular.io/api/common/http/HttpClient的httpClient。

这是HttpClient在Angular上工作的示例: https://stackblitz.com/edit/httprequest

我建议您遵循这条路。