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>
我在使用 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>