我对 Ajax 很陌生,我正在尝试在 jsp 页面上显示已完成的任务和正在进行的任务。以下是我的ajax请求:
function checkProgress() {
var uri="<%=request.getContextPath()%>/digitalObject/checkingProgress";
$.ajax(
{
url: uri,
type: 'GET',
dataType: 'json',
async:false,
timeout: 100,
success: function(data){
updateUI(data);
},
error: function(xhr, ajaxOptions, thrownError) {
alert("err"+thrownError+xhr.responseText);
}
});
}
function updateUI(data){
// do something with "data"
switch(data) {
case "progress.Decompose":
$("#decompose").removeClass("notStarted");
$("#decompose").addClass("progress");
$("#imgDecompose").html(htmlLoaderImage);
break;
case "Main object is decomposed":
$("#decompose").removeClass("progress");
$("#decompose").addClass("finished");
$("#imgDecompose").html(htmlSuccessImage);
break;
case "started":
alert(data);
}
checkProgress (uri);
}
这是一个无限的 Ajax 请求,它将通过在控制器中调用此方法来检查进度。
@RequestMapping(value="/checkingProgress",method= RequestMethod.GET)
public String checkProgress() {
System.out.println("In checking progress");
return progress;
}
但我收到一个未定义的错误。我正在使用 Spring MVC。我不明白为什么会这样。