Ich möchte Daten an eine API senden, die POST-Methode verwendet, ohne die Ansicht neu zu laden. Ob Erfolg oder Fehler, meine Ansicht wird nach dem Ausführen neu geladen.Ansicht wird nach einer http-Anforderung in AngularJS erneut geladen
Ich verwende diese Funktion Daten an eine API einreichen:
$scope.addObject = function (data) {
Object.add(data).then(function (response) {
$scope.isSubmitting = false;
if (response !== null)
toaster.pop(response.status, response.status, response.message);
return false;
});
};
es verwendet den folgenden Service:
.factory('Object', function ($http, $rootScope) {
var object = {},
url = $rootScope.apiUrl;
object.add = function (data) {
return $http({
url: url + '/object/add',
method: 'POST',
params: data
})
.then(function(response) {
return response.data;
});
};
return object;
});
Hier ist der HTML-Code der Form.
<form class="object-form" ng-submit="addObject(objectData)">
<select name="type" ng-model="objectData.type">
[…]
</select>
<button type="submit">OK</button>
</form>
Das Formular läuft gut, es übermittelt die Seite nicht. Nur die Ansicht wird neu geladen.
Wie kann ich das erneute Laden der Ansicht vermeiden?
UPDATE
Wenn Anforderung erfolgreich ist (Status = 200), ist es die Ansicht nicht neu laden.
geben Sie bitte den HTML-Code für das Formular an. – Baruch
aktualisiert mit HTML für das Formular, obwohl sogar die Funktion von anderen Elementen aufrufen, ich bekomme immer noch mein Formular neu geladen. – fksr86
Haben Sie versucht, 'ng-click' auf der Schaltfläche anstelle von' ng-submit' zu verwenden? Entschuldigung, ich bin mir nicht sicher, ob Sie das gemeint haben, indem Sie die Funktion von anderen Elementen aus aufgerufen haben. ** EDIT ** wenn das Formular nicht auf 200 neu geladen wird, hat es vielleicht mit dem nicht gefundenen Fehler zu tun? Versuchen Sie ein '.catch' hinzuzufügen. – Baruch