我正在使用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);
});
});
}
但是当我尝试调试时
答案 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
我建议您遵循这条路。