我正在进行递归ajax调用和接收服务器数据。对于每次通话,我都会收到一些数据。我想在前端显示这些数据。我如何这样做,使每个收到的数据部分都在另一个之下。我希望这很清楚。
例如
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
假设我在第一次ajax调用时接收前10行,接下来接下来5次,依此类推,我想显示如上所示,而不是擦除第一个接收数据并显示第二个接收数据。顺便说一下,我使用Angularjs作为前端。
在Gaurav请求中添加了代码段。
callOnReq(requestId);
function callOnReq(requestId) {
console.log('Request ID sent')
$http.post('/py/recvData',{'requestId':requestId}).
success(function(data, status, headers, config) {
console.log('Data after request ID')
$scope.recdData data.output;
if (data.output != ""){
callOnReq(requestId);
}else if (data.output == ""){
console.log('Data receiving over');
}
}).
error(function(data, status, headers, config) {
console.log(status);
});
};
提前致谢。
答案 0 :(得分:0)
在范围内声明变量。
$scope.responseList=[];
然后按
中的响应文本如果响应数据是列表,那么你必须将它连接起来
$scope.responseList=$scope.responseList.concat(data);
如果响应数据是单个对象,则必须将其推送
$scope.responseList.push(data);
示例代码
$http({
// code
}).then(function(result){
// data is list then you have to concate it
$scope.responseList=$scope.responseList.concat(data);
// data is single objecth then you have to push it
$scope.responseList.push(data);
})
然后在视图中显示responseList
。