Angular 4 httpd post 调用在 iOS 中失败

Angular 4 httpd post call fails in iOS

我在使用 Nativescript 和 Angular 的 iOS 中的 POST 调用中遇到了一个奇怪的问题 4. 我在 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(),但没有成功。

有什么帮助吗?

谢谢!

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

可能与 iOS 上的安全/非安全连接有关?

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

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

<key>NSAppTransportSecurity</key>
<dict>
  <!--Include to allow all connections (DANGER)-->
  <key>NSAllowsArbitraryLoads</key>
      <true/>
</dict>