0
我想使用POST方法將數據提交給API,而無需重新加載視圖。無論成功還是錯誤,我的視圖在運行後都會重新加載。在AngularJS中的http請求後重新加載視圖
我使用這個功能,將數據提交到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),它不重新加載圖。
請提供表單的HTML。 – Baruch
用HTML更新了表單,雖然從其他元素調用函數仍然讓我的表單重新加載。 – fksr86
您是否嘗試過在按鈕上使用ng-click而不是使用ng-submit?對不起,不知道這是否是你通過從其他元素調用函數的意思。 **編輯**如果窗體不重新加載200,也許它必須處理未被捕獲的錯誤?嘗試添加一個'.catch'。 – Baruch