我坚持使用我的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
无法在代码上呈现数据
我不知道出了什么问题。 你可以帮帮我吗?
答案 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
。我不确定,这是否真正的根本原因,但我希望它对其他人有所帮助。
谢谢你的所有建议。
托马斯。