Powiedzmy, że mam dane, które mają skomplikowaneformat (lista obiektów), który chcę wysłać do kontrolera MVC, a następnie chcę, aby ten kontroler przekierował mnie na żądaną stronę za pomocą wygenerowanego modelu. Zrobiłoby to tak samo jak żądanie POST ze zwykłego formularza.
Zamiast tego, kiedy wykonuję to żądanie kątowe z angular:
$http({
method: "POST",
url: "/user/search",
data: $scope.dataToSearch
}).success(function() {
// what do put here ?
})
.error(function() {
});
- kontroler pomyślnie otrzymuje dane
- kontroler z powodzeniem generuje model, który chcę
- kontroler zwraca „View („ viewWanted ”, model”), ale NIE przekierowuje T.
Wszystko, co otrzymuję, to kod statusu 200 i surowehtml strony, którą chciałem bez przekierowywania mnie do tej faktycznej strony. Chodzi o to, że jeśli wykonam „window.location” po sukcesie, mój kontroler nie wygeneruje modelu, ponieważ muszę opublikować dane.
Podsumowując, jak opublikować, a następnie przekierować jak w zwykłym formularzu, ale ogólnie przy użyciu Ajax / Angular / JavaScript? Dzięki.
Odpowiedzi:
0 dla odpowiedzi № 1Możesz użyć Angular promises
do zwrotu i poczekaj na prośbę o sukces. Potrzebujesz więc większej kontroli ze strony kontrolerów, Restangular
jest do tego lepszy.