Hey Rob,

I think you will bang your head now, as I just did...
I also have it working just in this second... BUT: I just did some apache 
config:

Header always set Access-Control-Allow-Headers 
"Origin,X-Requested-With,Content-Type,Accept,Authorization,Accept-Language,Content-Language,Last-Event-ID,X-HTTP-Method-Override"
Header always set Access-Control-Allow-Methods "GET,POST,PUT,DELETE,OPTIONS"
Header always set Access-Control-Allow-Credentials "true"
Header always set Cache-Control "max-age=0"

I added the Headers for credentials and cache-control plus the 
allow-headers entry for X-HTTP-Method-Override.
Don't know what exactly does the trick, but even the older Version of my 
angular-app now works on my iPhone with iOS8...

Will do some more testing, but I think this was it....





Am Mittwoch, 4. Februar 2015 01:56:44 UTC+1 schrieb Rob Koberg:
>
> I have this working now, but I had to use jQuery.ajax and not angular's 
> own. Here is what works:
>
>
> SessionCreator.$inject = ['$http', '$q', '$rootScope', '$timeout', 'ENV', 
> 'User'];
> function SessionCreator($http, $q, $rootScope, $timeout, ENV, User) {
>
>   var deferred = $q.defer();
>
>   jQuery.ajax(ENV.apiEndPoint + '/user-init', {
>
>     accepts: 'application/json',
>     dataType: 'json',
>     headers: {
>       Accept: 'application/json',
>       Authorization: User.getAuth()
>     },
>
>
>     success: function(data) {
>
>       $rootScope.maintenance = false;
>       User.init(data.user);
>       $rootScope.totalReads = data.totalReads;
>
>       if (data.maintenance) {
>         $rootScope.maintenance = true;
>         $rootScope.maintenanceMsg = data.content;
>       }
>
>       deferred.resolve();
>     },
>     error: function(jqXHR, status, errorThrown) {
>       console.log('SessionCreator error jqXHR', jqXHR);
>       console.log('SessionCreator error status', status);
>       console.log('SessionCreator error errorThrown', errorThrown);
>
>         User.init(data.user);
>         $rootScope.totalReads = data.totalReads;
>         if (data.maintenance) {
>           $rootScope.maintenance = true;
>           $rootScope.maintenanceMsg = data.content;
>         }
>       jQuery('.loader-wrap').fadeOut();
>       $timeout(function() {});
>
>     }
>   });
>
>   return deferred.promise;
> }
>
>
> This does not work:
>
>
> SessionCreator.$inject = ['$http', '$q', '$rootScope', '$timeout', 'ENV', 
> 'User'];
> function SessionCreator($http, $q, $rootScope, $timeout, ENV, User) {
>
>   var deferred = $q.defer();
>
> // used text here to try and avoid preflight request. Didn't work.
>   $http
>     .get(ENV.apiEndPoint + '/user-init',
>       {
>         responseType: 'text',
>         headers: {
>           Accept: 'text/plain'
>         }
>       }
>     )
>     .success(function(data) {
>       $rootScope.maintenance = false;
>       User.init(data.user);
>       $rootScope.totalReads = data.totalReads;
>   
>       if (data.maintenance) {
>         $rootScope.maintenance = true;
>         $rootScope.maintenanceMsg = data.content;
>       }
>   
>       deferred.resolve();
>     })
>     .error(function(data, status, headers, config) {
>       console.log('SessionCreator error data', data);
>       console.log('SessionCreator error status', status);
>       console.log('SessionCreator error headers', headers);
>       console.log('SessionCreator error config', config);
>   
>         User.init(data.user);
>         $rootScope.totalReads = data.totalReads;
>         if (data.maintenance) {
>           $rootScope.maintenance = true;
>           $rootScope.maintenanceMsg = data.content;
>         }
>       jQuery('.loader-wrap').fadeOut();
>       $timeout(function() {});
>   
>     });
>
>   return deferred.promise;
> }
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to