我从node.js服务器获得了这个json响应。
我使用angularjs ng-repeat功能在我的前端显示。 当响应在阵列中包含超过100000个对象时,浏览器将挂起
所以我想在数组响应
中获得第一个三个对象但我再次将此响应发送回服务器端,
所以我想发送所有数据。
我在服务器端的json响应:
smtplib.SMTP('smtp-mail.outlook.com')
我的controller.js:
将服务器端数据提供给angularjs:
[ {
field5: 'Chennai',
field6: 'Asia',
field7: '600091',
field8: '10-10-1996'},
{
field5: 'Tamilnadu',
field6: 'Asia',
field7: '600091',
field8: '10-10-1996' },
{
field5: 'Tuticorin',
field6: 'Asia',
field7: '600091',
field8: '10-10-1996' },
{
field5: 'Japan',
field6: 'Asia',
field7: '600091',
field8: '10-10-1996'},
{
field5: 'China',
field6: 'Asia',
field7: '600091',
field8: '10-10-1996' },
{
field5: 'Canada',
field6: 'Asia',
field7: '600091',
field8: '10-10-1996' },
{
field5: 'Canada',
field6: 'Asia',
field7: '600091',
field8: '10-10-1996'} ]
我的最后一个api从客户端向服务器发送数据:
$http({
method: 'GET',
url: '/api/getnewgroup'
}).then(function (response) {
$scope.excels = response.data;
}, function (response) {
window.location.href = '/';
});
答案 0 :(得分:1)
在ng-repeat中,您可以使用“limitTo”过滤器,如下所示:
ng-repeat="excel in excels | limitTo:3"
这只会显示数组的前3个条目。
如果您想为显示的项目设置另一个数组,可以尝试:
$http({
method: 'GET',
url: '/api/getnewgroup'
}).then(function (response) {
$scope.excels = response.data.slice(0, 3);
$scope.remainingExcels = response.data.slice(3);
}, function (response) {
window.location.href = '/';
});
和
$scope.uploadLast = function () {
var data = {
excels: $scope.excels.concat($scope.remainingExcels),
};
$http.post('/api/uploadlast', data).then(function (response) {
}).catch(function (response) {
alert(response.data);
console.log(response);
});
}
但这是一件非常“丑陋”的事情。