Javascript 视图在AngularJS中的http请求后重新加载
我想使用POST方法将数据提交到API,而无需重新加载视图。无论成功还是错误,我的视图在运行后都会重新加载 我正在使用此函数向API提交数据:Javascript 视图在AngularJS中的http请求后重新加载,javascript,angularjs,Javascript,Angularjs,我想使用POST方法将数据提交到API,而无需重新加载视图。无论成功还是错误,我的视图在运行后都会重新加载 我正在使用此函数向API提交数据: $scope.addObject = function (data) { Object.add(data).then(function (response) { $scope.isSubmitting = false; if (response !== null) toaster.pop(r
$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>
[…]
好啊
表单运行正常,没有提交页面。只是视图被重新加载
如何避免重新加载视图
更新
如果请求成功(状态=200),则不会重新加载视图。因此,问题来自另一个地方: 如果响应是错误的,则有一个拦截器正在重新加载视图
我把它作为一个答案,因为这是第二次拦截器给我带来问题,所以,如果有人来到这里,请知道你应该检查拦截器。请提供表单的HTML。用表单的HTML更新,即使从其他元素调用函数,我仍然会重新加载表单。您是否尝试使用按钮上的
ng click
,而不是使用ng submit
?抱歉,不确定从其他元素调用函数是否就是这个意思。编辑如果表单没有在200上重新加载,可能与未捕获错误有关?尝试添加一个.catch
。