我想要一个从服务器获取数据的进度条,所以我创建了两个servlet,第一个(process
)启动该进程,并在结束时返回结果;第二个(GetEvent
)每500毫秒从会话中获取进度信息。未执行JQuery回调?
所有这些都正常工作,并且进度信息显示正确,但 处理Servlet的回调从不执行。
<html>
<head>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script>
$(document).ready(function() {
process();
$("#progressbar").progressbar({ value: 0 });
$("#progressStatus").html("");
getEvent();
});
function process()
{
$.getJSON("process", function(result){
//never executed
alert("Result: ");
});
}
function getEvent()
{
$.getJSON("GetProgressEvent", function(data) {
$.each(data.ProgressEvents, function(){
$("#progressbar").progressbar({ value: this.progress });
$("#progressStatus").html(this.status);
});
});
setTimeout(getEvent, 500);
}
</script>
</head>
<body style="font-size:62.5%;">
<div id="progressbar"></div>
<div id ="progressStatus"></div>
</body>
</html>
我刚开始使用JQuery,我不知道这段代码有什么问题。
你确定GetProgressEvent调用实际上返回?您是否使用Web浏览器检查器(例如Chrome或FireFox中的Net面板)检查了HTTP通信? –