使用此代码,我可以在服务器脚本运行时显示动画gif:
function calculateTotals() {
$('#results').load('getResults.php', null, showStatusFinished);
showLoadStatus();
}
function showLoadStatus() {
$('#status').html('');
}
function showStatusFinished() {
$('#status').html('Finished.');
}
Run Code Online (Sandbox Code Playgroud)
但是,我想显示脚本在多远的状态,例如"处理线路342的20000 ......"并将其计数直到完成为止.
我怎样才能做到这一点?我可以创建一个不断包含更新信息的服务器脚本,但是我在哪里放置命令来读取这个,比如每秒?
阅读您对安德鲁的回答的评论后。
你会读到这样的状态:
function getStatus() {
$.getJSON("/status.php",{"session":0, "requestID":12345},
function(data) { //data is the returned JSON object from the server {name:"value"}
setStatus(data.status);
window.setTimeout("getStatus()",intervalInMS)
});
}
Run Code Online (Sandbox Code Playgroud)
使用此方法您可以在服务器上同时打开多个 XHR 请求。
您所有的 status.php 输出都是:
{"status":"We are done row 1040/45983459"}
Run Code Online (Sandbox Code Playgroud)
但是,您可以在响应中输出任意多的信息并进行相应的处理(例如提供进度条或执行动画......)
有关 $.getJSON 的更多信息,请参阅http://docs.jquery.com/Ajax/jQuery.getJSON
| 归档时间: |
|
| 查看次数: |
4842 次 |
| 最近记录: |