2013-06-10 17 views
5

Ho una semplice CORS AJAX chiamata dall'interno AngularJS applicazione con successo callback:

$http({method:'POST',url:"http://0.0.0.0:4567/authenticate", 
params: {Lusername:scope.Lusername,Lpassword:scope.Lpassword}}) 
.success(function(){alert("Success")}) 

Quando usato in Safari funziona bene: i rendimenti attesi oggetto JSON e spettacoli la casella di avviso. Tuttavia in Firefox, anche se l'oggetto JSON viene restituito correttamente, la callback di successo non viene attivata.

Qualche idea del perché?

+0

Avete jsFiddle in grado di riprodurre il problema? A proposito, so che è solo per l'esempio, ma pensate di usare $ window.alert() piuttosto che solo alert() (dove [$ window] (http://docs.angularjs.org/api/ng.$ finestra) è un servizio che si inietta). – Blackhole

+0

Possibilità di CORS. Controlla quello –

risposta

1

Assicurarsi di gestire la richiesta OPZIONI nel server. Se restituisce 404, Firefox non chiamerà la richiesta successiva (nel tuo caso il POST menzionato sopra).

+0

Cosa succede se non ho accesso alle opzioni del server :) – kwicher

+0

CORS deve essere configurato sul server. – Pablo

0

Prova questa con ultima versione di AngularJS:

$http.post("http://0.0.0.0:4567/authenticate", { 
    Lusername: $scope.Lusername, 
    Lpassword: $scope.Lpassword 
}).success(function(data, status, headers, config) { 
    alert("Success"); 
}); 
+0

Questo non spiega il problema o aiuta chiunque altro possa avere un problema simile in futuro. – DrCord

Problemi correlati