簡體   English   中英

在AngularJS中發出http請求后,視圖將重新加載

[英]View is reloaded after a http request in AngularJS

我想使用POST方法將數據提交給API,而無需重新加載視圖。 無論成功還是錯誤,運行后都會重新加載我的視圖。

我正在使用此功能向API提交數據:

$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;
    });
};

它使用以下服務:

.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;
});

這是表單的HTML。

<form class="object-form" ng-submit="addObject(objectData)">
    <select name="type" ng-model="objectData.type">
        […]
    </select>
    <button type="submit">OK</button>
</form>

表單運行得很好,它沒有提交頁面。 只是視圖被重新加載。

如何避免重新加載視圖?


UPDATE

如果請求成功(狀態= 200),則不會重新加載視圖。

因此,問題出在另一個地方:

如果響應為錯誤,則有一個攔截器正在重新加載視圖。

我將其作為答案,因為這是攔截器第二次給我造成問題,因此,如果有人到達這里,請知道您應該檢查攔截器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM