好的,我有一个配置文件设置页面如下:
<form action="/profileSettings" method="post">
Full Name:<br>
<input type="text" name="fullname" value='{[user.fullname]}'><br>
About:<br>
<input type="text" name="about" value='{[user.about]}'><br>
Birthday:<br>
<input type="text" name="birthday" value='{[user.birthday]}'><br>
E-mail:<br>
<input type="text" name="email" value='{[user.email]}'><br>
Location:<br>
<input type="text" name="location" value='{[user.location]}'><br>
<input type="submit" value="Submit">
</form>
数据通过Angular控制器传回给它,如下所示:
mainApp.controller('profileController', ['$scope', '$http', function($scope, $http){
$scope.user = '';
$http.get('/api/user', {params: { id: idFromSomewhere }})
.success(function(res){
$scope.user = res.user;
})
.error(function(data, status){
console.log(data);
});
}]);
/ api /用户只是在它完成它的时候回过头来回复一个“个人资料已经更新”的回复。我想做的是:
看起来像一个非常普通的东西,并且Angular必须有一些原生的东西。
任何输入都会帮助你们。 谢谢, 砂眼
答案 0 :(得分:2)
你可以简单地将你的get调用放在一个函数中,并且在你的调用成功后你可以调用get函数...更新的值将反映出来而不会实际重新加载或刷新页面..
$scope.func=funtion(){
$http.get('/api/user', {params: { id: idFromSomewhere }})
.success(function(res){
$scope.user = res.user;
})
.error(function(data, status){
console.log(data);
});
}
成功回调og你的帖子......你可以像这样调用这个get方法..
$http.post(...).success(function(){
$scope.func();
}
答案 1 :(得分:1)
尝试使用ng-submit 它会将数据发送回服务器并重新加载当前页面,您可以在此查看参考 https://docs.angularjs.org/api/ng/directive/ngSubmit