我在使用Nativescript和Angular 4的iOS中的POST调用中遇到了一个奇怪的问题。我在Android中测试了相同的代码并且工作得很完美。服务器不会注册任何错误,但调用失败。这是我现在使用的代码:
...
import { Http, Headers, Response, RequestOptions } from "@angular/http";
...
let headers = new Headers();
headers.append("Content-Type", "application/x-www-form-urlencoded");
let options = new RequestOptions({ headers: headers });
let body =
"Username=" + this.username
+"&Password=" + this.password;
this.http.post("http://myserver.com/api/login", body, options)
.map(result => result.json())
.subscribe(
result => {
this.loader.hide();
if (result.Authenticated) {
// Do something...
}
else {
Dialogs.alert({title: 'Error', message: "Username and/or password are incorrect.", okButtonText: "Close"});
}
},
error => {
Dialogs.alert({title: 'Error', message: "There was an error trying to send the request, please try again later.", okButtonText: "Close"});
}
)
该应用程序向我显示There was an error trying to send the request, please try again later.
消息,但服务器中没有错误,好奇的是Android工作正常。
我在Angular中启用了enableProdMode()
而没有运气。
请帮忙吗?
谢谢!
答案 0 :(得分:3)
直到昨天,我们在Nativescript iOS + http 连接上遇到了崩溃和悬挂问题。我们为服务器的API切换到 https 连接,现在一切正常。
也许它与iOS上的安全/非安全连接有关?
尝试切换到安全连接,看看会发生什么。
如果您不能这样做,请尝试将其添加到info.plist文件以允许http连接:
$item->OwnerNodeID