您好我有一个控制所有控制器的Java脚本文件。我还有两个html页面,在提交表单时将一个链接到另一个,我需要在按下提交按钮时将值传递给另一个控制器。
如果我不指向另一个页面,我可以记录该值,但是一旦我指向另一个页面,值就变为'undefined'
这是我的两个角度控制器
app.controller('createworkshopController', function($rootScope, $scope, $http) {
//get bunch of stuff
$scope.submitWorkshop = function() {
$http({method:'POST', data:$scope.result, url: 'url for post method'})
.success(function(data) {
$rootScope.ID = data.value;
console.log($rootScope.ID); //this log return the value
});
};
});
但是当我重定向到另一个页面时,该值变为未定义 这是第二页的控制器
app.controller('showworkshopController', function($rootScope, $scope, $http) {
console.log($rootScope.ID); //this becomes undefined
$http.get('some_url?Id=' + $rootScope.ID)
.success(function(data) {
//do bunch of stuff
});
//do bunch of stuff
});
我的第一页html有一个像这样写的提交按钮
<a href="second-page.html" type="submit" class="btn btn-default" ng-click="submitWorkshop()">Submit</a>
答案 0 :(得分:1)
您的问题是您的应用会重新初始化页面刷新/重定向。
您需要将其构建为单页应用,而不是重定向,或者在重定向之前将值存储在Cookie或本地存储中,并在加载第二页时检索。
基本上,angular实际上是用于构建应用程序,而不是作为标准Web表单的添加。