Przeprowadzam migrację mojego projektu z wersji 1.3 beta 1.4 do belki 1.3, "$ http get" działa dobrze, ale "Problem z pocztą $ http" tworzy problem. Poniżej użytkownik kod uwierzytelniający, który działa dobrze w 1.3, ale nie działa w 1.4
factory.authenticate = function (email, password) {
var payload = {
email: email,
password: password
};
var rid = Security.reqKey();
payload['rid'] = rid;
return $http({
method: 'POST',
url: Base_url +'service/auth',
param: {
rid: rid
},
data: $.param(payload),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
};
Po migracji do 1,4 produkować błąd:
POST http://localhost/ 405 (Not Allowed) XHR failed loading: POST
(który działa dobrze wcześniej)
jest przypadek, w którym ten kod daje pożądany wynik. Po umieszczeniu debuggera w przeglądarce Chrome i uruchomieniu całego kodu przez naciśnięcie klawisza f10.
co to jest "Bezpieczeństwo" i dlaczego nie jest wstrzykiwane? Również wygląda na to, że funkcja 'Security.reqKey()' jest asynchroniczna i dlatego nie jest w czasie, kiedy wykonujesz swój kod bez debuggera i jest on na czas, kiedy debugujesz go - jest to po prostu kwestia kilku milisekund. – smnbbrv
Bezpieczeństwo to nic innego jak fabryka po stronie klienta, której wartość opiera się na funkcji Date.now(). ValueOf(); Nie sądzę, że to powoduje problem. Ponieważ próbowałem tego kodu z parametrem out out. ale produkuje ten sam błąd. :( –
, więc jest to prawdopodobnie problem, że nie przekazujesz parametru, Twój błąd jest zresztą taki jak po stronie serwera. Musisz najpierw sprawdzić, co jest źródłem problemu (chociaż jestem całkiem pewien dzieje się tak, ponieważ nie masz tego parametru rid). Nie dostaniesz tutaj rozwiązania, jeśli nie opublikujesz wszystkich powiązanych funkcji, w tym rzeczy po stronie serwera – smnbbrv