Angular.js
$scope.exportTable = function (param, isId) {
//var excelContents = JSON.stringify( $((isId) ? "#"+param:"."+param).html());
console.log(JSON.stringify($((isId) ? "#" + param : "." + param).html()));
$interval($scope.downloadExcel(JSON.stringify($((isId) ? "#" + param : "." + param).html())), 3000);
};
$scope.downloadExcel = function (excelContents) {
console.log("this should be displayed after 3 seconds");
$.ajax({
url: urls.BASE_API + "user/setExcelContents",
data: {excelContents: excelContents},
type: 'POST',
dataType: 'json',
complete: function (data) {
if (data.responseText == "1") {
window.location.href = urls.BASE_API + "user/exportExcel";
}
}
});
};
在这里,我尝试将1600个表行发送到Java中的控制器方法,然后使用@RequestParam('excelContents')
捕获参数
这会在Request parameter is not present
现在,如果我发送20-50个表行,则可以正常工作而不会出现任何错误。
我一直以为JSON.stringify()
在将其作为参数发送之前无法完成其任务,因此这就是为什么我添加了$interval
,但是$interval
无效的原因。当我传递参数时,它不会暂停3秒钟(3000毫秒)。该方法在我调用后立即运行,没有任何暂停。