ionic $ http.post在模拟器中失败但在浏览器和iPhone中有效

时间:2015-11-06 07:53:35

标签: ios angularjs cordova ionic

以下代码适用于浏览器和iPhone 5s,但不适用于iOS模拟器。我试图弄清楚它是模拟器还是离子的东西。

我已在Info.plist中设置NSAppTransportSecurity以便能够使用http

NSAppTransportSecurity     NSAllowsArbitraryLoads      和代码:

accountRepo.register($scope.login.registryCode)
.success(function(data){
    accountRepo.user = data;
    $scope.hideLoading();
    $state.go("setPin");
})
.error(function(err){
    console.log(err);
    $scope.hideLoading();
    alert("Incorrect registry code");
});

和回购

app.factory('accountRepo', function($http) {
   return {
     token: {},
     register: function(registryCode) {
       return $http.post("http://localhost:9501/register",
       {"registryCode": registryCode} );
     },

发生错误时,err参数为null。我在Xcode的输出中什么都没得到。我应该去别的地方看看吗?

1 个答案:

答案 0 :(得分:1)

有点晚了,但有人可能觉得这很有用。

在执行ionic serveionic run -l时,这是跨源资源共享(CORS)的问题。

您可以通过在ionic.project中设置代理来解决此问题。

查看此文章了解更多信息:http://blog.ionic.io/handling-cors-issues-in-ionic/