如何访问 post in Angularjs 之后的数据
How to access the data after post in Angularjs
我的浏览器
<button type="submit" ng:click="sendviewer(vl.viewerid)" ></button>
我的控制器
$scope.viewerDetails = [];
var viewerid = [];
$scope.sendviewer = function(viewer){
var success = function(data)
{
for( var i = 0; i < 1; i++ )
{
var obj = data[i];
if(obj.viewerid != undefined) {
viewerid.push(obj.viewerid);
}
}
$scope.viewerDetails = viewerid;
}
viewerService.postViewer(viewer).success(success);
}
我的服务
return {
postViewer: function(viewer){
$location.path('/viewerdetails');
return $http({
method: 'POST',
url: 'api.php',
data: {
'view': viewer
},
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
}
}
我返回的数据在函数内存中可用,但我如何才能在函数外部访问该数据以在我的视图中访问?如果我尝试做 {{ viewerDetails.viewerid }} 将显示空白。
由于viewerid
是一个局部数组变量,它里面存储的数据在作用域外是不可用的。您应该将 viewerid
存储在 $scope
中。喜欢
$scope.viewerid = [];
现在可以在 DOM 上访问了。
嗯,看起来 for 循环是不必要的,实际上有点奇怪。
$scope.viewerIds = [];
$scope.sendviewer = function(viewer){
var success = function(data)
{
var obj = data[0];
if(obj.viewerid != undefined) {
$scope.viewerIds.push(obj.viewerid);
}
}
viewerService.postViewer(viewer).then(success);
}
您也不应该使用 success
,因为它已被弃用。请改用 then
的 promise 语法。
这会将调用结果的 ID 添加到 $scope.viewerIds 数组。
目前尚不清楚这是否是您想要的。但对我来说它看起来像。
您确定 data
与您预期的一样吗?一个数组,其中第一个元素是您的对象。老实说,这也有点奇怪 api..
然后在您的 html 中,您也许可以循环数组以显示 ID:
<div ng-repeat="id in viewerIds"> ID: {{id}}</div>
我的浏览器
<button type="submit" ng:click="sendviewer(vl.viewerid)" ></button>
我的控制器
$scope.viewerDetails = [];
var viewerid = [];
$scope.sendviewer = function(viewer){
var success = function(data)
{
for( var i = 0; i < 1; i++ )
{
var obj = data[i];
if(obj.viewerid != undefined) {
viewerid.push(obj.viewerid);
}
}
$scope.viewerDetails = viewerid;
}
viewerService.postViewer(viewer).success(success);
}
我的服务
return {
postViewer: function(viewer){
$location.path('/viewerdetails');
return $http({
method: 'POST',
url: 'api.php',
data: {
'view': viewer
},
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
}
}
我返回的数据在函数内存中可用,但我如何才能在函数外部访问该数据以在我的视图中访问?如果我尝试做 {{ viewerDetails.viewerid }} 将显示空白。
由于viewerid
是一个局部数组变量,它里面存储的数据在作用域外是不可用的。您应该将 viewerid
存储在 $scope
中。喜欢
$scope.viewerid = [];
现在可以在 DOM 上访问了。
嗯,看起来 for 循环是不必要的,实际上有点奇怪。
$scope.viewerIds = [];
$scope.sendviewer = function(viewer){
var success = function(data)
{
var obj = data[0];
if(obj.viewerid != undefined) {
$scope.viewerIds.push(obj.viewerid);
}
}
viewerService.postViewer(viewer).then(success);
}
您也不应该使用 success
,因为它已被弃用。请改用 then
的 promise 语法。
这会将调用结果的 ID 添加到 $scope.viewerIds 数组。
目前尚不清楚这是否是您想要的。但对我来说它看起来像。
您确定 data
与您预期的一样吗?一个数组,其中第一个元素是您的对象。老实说,这也有点奇怪 api..
然后在您的 html 中,您也许可以循环数组以显示 ID:
<div ng-repeat="id in viewerIds"> ID: {{id}}</div>