ionic $http.post не работает в эмуляторе, но работает в браузере и iPhone

Код ниже работает в браузере и на iPhone 5s, но не в эмуляторе iOS. Я пытаюсь выяснить, эмулятор ли это или что-то в ионном.

Я установил NSAppTransportSecurity в Info.plist, чтобы иметь возможность использовать 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 равен нулю при возникновении ошибки. Я ничего не получаю в выводе в Xcode. Стоит ли искать где-то еще?

1 ответ

Немного поздно, но кто-то может найти это полезным.

Это проблема совместного использования ресурсов (CORS), когда ionic serve или же ionic run -l,

Вы можете решить это, установив прокси в своем ionic.project,

Проверьте эту статью для получения дополнительной информации: http://blog.ionic.io/handling-cors-issues-in-ionic/

Другие вопросы по тегам