以下代码将控制台日志打印到页面上。它记录来自服务器的请求和响应,例如:
14:15:17 GMT+0000 (GMT Standard Time) Submitting HTTP GET request to http...
14:15:22 GMT+0000 (GMT Standard Time) Received HTTP response: {..
14:15:17 GMT+0000 (GMT Standard Time) Submitting HTTP GET request to http...
14:15:22 GMT+0000 (GMT Standard Time) Received HTTP response: {..
不要直接在页面上显示这些内容,我希望可以对每个响应和请求进行统计,让用户看到一个从1开始的数字,直到结束,可能是任何数字。这样可以向用户展示某些操作正在进行中,而不必显示所有的响应和获取数据。
function logHttpResponse(response) {
var now = new Date();
var logger = document.getElementById('log');
var logMessage = now.toTimeString() + " Received HTTP response: " + JSON.stringify(response);
console.log = function (logMessage) {
if (typeof logMessage == 'object') {
logger.innerHTML += (JSON && JSON.stringify ? JSON.stringify(logMessage) : String(logMessage)) + '<br />';
} else {
logger.innerHTML += logMessage + '<br />';
}
}
}
并且HTML:
<div id="log"></div>
logHttpResponse
时,您都在分配给console.log
。首先,我认为您不应该重新分配console.log
,但无论如何,您应该只在函数外部执行一次(并将logger
作为闭包参数传递)。 - TatshlogMessage
一样在闭包中加入一个计数器? - Mike Cluck