什么" ng-repeat"在我的AngularJS App中?

时间:2018-04-28 03:00:12

标签: javascript angular

我坚持使用我的AngularJS App ng-repeat。 这是我的html标记

<tr ng-repeat="item in trRecords">
<td><input type="checkbox" value="{{item.chkboxValue}}" id="{{item.chkboxId}}" /></td>
<td>{{item.TicketID}}</td>
<td>{{item.ItemCode}}</td>
<td>{{item.ItemColor}}</td>
<td>{{item.MachineAsset}}</td>
<td>{{item.Capacity}}</td>
<td>{{item.Layer}}</td>
<td>{{item.MaterialQty}}</td>
<td>{{item.PackageQty}}</td>
<td>{{item.StartDate}}</td>
<td>{{item.EndDate}}</td>
</tr>

这是脚本数据

var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
$scope.BindCutTicket = function () {
var Factory = $('#NewFactory').val();
var CRCode = $('#NewCRCode').val();
var ItemCode = $('#NewItemCode').val();
$.ajax({
type: "POST",
async: true,
url: 'SearchingCriteriaHandler.ashx?Action=SearchCutTicket&Factory=' + Factory + '&CRCode=' + CRCode + '&ItemCode=' + ItemCode,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
$scope.trRecords = response;
console.log('$scope.trRecords= ');
console.log($scope.trRecords);
},
error: function (response) {
if (response.status === 500) 
Notify('danger', 'Your Session Expired. Please Login Again.');
else Notify('danger', response.responseJSON.Message);
}
});
}; 
});

从console.log,我可以看到来自服务器的数据,但ng-repeat无法在代码上呈现数据

我不知道出了什么问题。 你可以帮帮我吗?

3 个答案:

答案 0 :(得分:0)

您需要成功访问响应的data属性,

success: function (response) {  
   $scope.trRecords = response.data;
}

答案 1 :(得分:0)

像这样使用工厂

app.factory('Service', ["$http", function ($http) {
    return {
        Success: function (id) {
             return $http.get("/api/getSomething/" + id).then(function successCallback(response) {
            return response;
        }, function errorCallback(response) {
                return response;
                //error
            })
        },

    }
}])

然后在您的控制器中

Success(id).then(function (response) {
            if(response.status=200){
                $scope.trRecords = response.data;
            }
        });

答案 2 :(得分:0)

我发现了问题,当我在角度内使用$.ajax()时,如果$.ajax()有选项async: true,我就会遇到问题。我临时使用async: false。我不确定,这是否真正的根本原因,但我希望它对其他人有所帮助。 谢谢你的所有建议。 托马斯。