2013-06-10 13 views
5

Mam proste CORS AJAX połączeń z poziomu aplikacji angularjs z powodzeniem callback:

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

Gdy używany w Safari działa dobrze: powraca oczekuje obiekt JSON i pokazy pole ostrzeżenia. Jednak w Firefoksie, mimo że obiekt JSON jest zwracany poprawnie, wywołanie zwrotne sukcesu nie jest wyzwalane.

Każdy pomysł, dlaczego?

+0

masz jsFiddle które można odtworzyć problem? Przy okazji, wiem, że to tylko przykład, ale rozważ użycie opcji $ window.alert(), a nie tylko alert() (gdzie [$ window] (http://docs.angularjs.org/api/ng.$ window) to usługa, którą wstrzykujesz). – Blackhole

+0

Możliwość CORS. Sprawdź to. –

Odpowiedz

1

Upewnij się, że obsługujesz żądanie OPTIONS na serwerze. Jeśli zwróci 404, Firefox nie zadzwoni do następnego żądania (w twoim przypadku POST wspomniano powyżej).

+0

Co, jeśli nie mam dostępu do opcji serwera :) – kwicher

+0

CORS należy skonfigurować na serwerze. – Pablo

0

Spróbuj tego z ostatniej wersji 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

To nie wyjaśnia problemu ani nie pomaga nikomu, kto może mieć podobny problem w przyszłości. – DrCord

Powiązane problemy