这似乎不是我的错误,因为当我在离子服务中测试我的应用程序时,应用程序正确地发送和接收数据。然而,当我运行或构建应用程序并在手机上测试它时,它将接收数据而不发送任何数据。
我检查了远程调试,有效负载是假的。
我甚至尝试使用get而不是post,同样的事情发生在服务上而不是在构建或运行中。
这是我的离子信息
cli packages: (C:\Users\Myname\AppData\Roaming\npm\node_modules)
@ionic/cli-utils : 1.19.1
ionic (Ionic CLI) : 3.19.1
global packages:
cordova (Cordova CLI) : 8.0.0
local packages:
@ionic/app-scripts : 3.1.8
Cordova Platforms : android 6.1.1
Ionic Framework : ionic-angular 3.9.2
System:
Android SDK Tools : 25.2.5
Node : v9.2.0
npm : 5.6.0
OS : Windows 10
这是我的服务类的导入和设置
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable()
export class DataManager {
ep: string = "http://website.com/_endpoints/api/";
constructor(public http: HttpClient) {}
get(command, data) {
return new Promise((resolve, reject) => {
this.http.get(this.ep + command + '?' + this.buildPost(data), )
.subscribe(res => {
resolve(res);
}, (err) => {
reject(err);
});
});
}
post(command, data) {
return new Promise((resolve, reject) => {
this.http.post(this.ep + command, JSON.stringify(data))
.toPromise().then((response: any) => {
resolve(response)
});
});
buildPost(data) {
let str = '';
for (let k in data) {
str += '&' + k + '=' + data[k];
}
return str;
}
}
在服务器端我正在使用带有所需允许标头的PHP
答案 0 :(得分:0)
确保您的服务器正确实现了CORS,您可能需要检查https://ionicframework.com/docs/wkwebview/#cors。
我遇到了同样的问题,但我无法配置CORS,因此我最终使用了https://ionicframework.com/docs/native/http/
答案 1 :(得分:0)
问题是应用程序构建所需的全部是项目的新git拉,然后Http帖子工作完美。