Angular 4 httpd post调用在iOS中失败

时间:2017-09-25 15:23:28

标签: nativescript nativescript-angular

我在使用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()而没有运气。

请帮忙吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

直到昨天,我们在Nativescript iOS + http 连接上遇到了崩溃和悬挂问题。我们为服务器的API切换到 https 连接,现在一切正常。

也许它与iOS上的安全/非安全连接有关?

尝试切换到安全连接,看看会发生什么。

如果您不能这样做,请尝试将其添加到info.plist文件以允许http连接:

$item->OwnerNodeID