Java 未捕获的语法错误:Function.parse[作为parseJSON](<;anonymous>;)处的JSON输入意外结束
我一直在犯这个错误。我怎样才能修好它 错误 未捕获的语法错误:JSON输入意外结束Java 未捕获的语法错误:Function.parse[作为parseJSON](<;anonymous>;)处的JSON输入意外结束,java,json,Java,Json,我一直在犯这个错误。我怎样才能修好它 错误 未捕获的语法错误:JSON输入意外结束 在Function.parse[as parseJSON]() 反对。(:128:24) 在i(jquery.min.js:2) 在Object.fireWith[as resolveWith](jquery.min.js:2) 在A(jquery.min.js:4) 在XMLHttpRequest。(jquery.min.js:4) (此处抄录) 文件asqBatch.jsp 当我点击按钮时 function
在Function.parse[as parseJSON]()
反对。(:128:24)
在i(jquery.min.js:2)
在Object.fireWith[as resolveWith](jquery.min.js:2)
在A(jquery.min.js:4)
在XMLHttpRequest。(jquery.min.js:4) (此处抄录) 文件asqBatch.jsp 当我点击按钮时
function genExcelRep() {
var param = "${urlExcelLink}?year=${batchData.year}&period=${batchData.period}&programId=${batchData.programId}&batchId=${batchData.batchId}";
repDialog = BootstrapDialog.show({
title: "Generating Report",
message: '<h1 style="text-align:center;vertical-align: middle;"><i class="fa fa-spinner fa-spin" style="font-size:40px;color:black"></i> 5%</h1>',
onshow: function(dialogRef) {
dialogRef.enableButtons(false);
dialogRef.setClosable(false);
$.ajax({
type: "POST",
url: param,
cache: false
})
.done(function(result) {
console.log(result);
var data = $.parseJSON(result);
alert(json.pid);
alert("done(function(result) 1");
dialogRef.setMessage(data.result);
alert("done(function(result) 2");
if(data.isSuccess) {
alert("if(data.isSuccess)");
if(data.result == "Session Timeout") {
alert("Session Timeout");
SessionTimeOutRedirect("${redirectLink}");
}
else {
alert("generateExcelReport jsp");
generateExcelReport(data);
}
}
else {
alert("else(data.isSuccess)");
dialogRef.enableButtons(true);
dialogRef.setClosable(true);
}
});
},
closable: false,
closeByBackdrop: false,
closeByKeyboard: false,
buttons: [{
label: 'Close',
action: function(dialogRef) {
dialogRef.close();
}
}]
});
}
@RequestMapping部分
@RequestMapping(method=RequestMethod.POST,value=“/DownloadExcel”)//
public void DownloadExcel(@modeldattribute(“ResultASQDataVO”)ResultASQBatchVO vo,ModelMap model,HttpServletRequest req,HttpSession session,HttpServletResponse){
logger.info(“generateExcelReportPart1年份:”+vo.getYear()+
“,”+vo.getPeriod()+
“,”+vo.getProgramId()+
“,”+vo.getBatchId());
ResultASQDataVO rec=新的ResultASQDataVO(vo.getYear(),
vo.getPeriod(),
vo.getProgramId(),
vo.getBatchId());
if(CommonMethod.IsSessionTimeOut(会话)){
rec.setResult(“会话超时”);
记录设置成功(真);
}
否则{
布尔值isSuccess=false;
字符串结果=”;
试一试{
logger.info(“generateExcelReportPart1”);
List lstReport=resultASQDataSER.distinctWorkSheet(
新结果SqDataSavo(记录getYear(),
记录getPeriod(),
rec.getProgramId(),
rec.getBatchId());
字符串arr=lstReport.toString();
rec.setListReports(String.join(“;”,arr));
logger.info(“generateExcelReportPart1 2”);
int cnt=lstReport.size()+1;
String dirReports=ReportCommonMethod.getTempReportFolderWithTimeStamp(新文件(context.getRealPath(“/”));
记录setDirPath(dirReports);
rec.setFiles(“”);
浮动无增量=0f;
记录设置成功(isSuccess);
logger.info(“generateExcelReportPart1 3”);
if(CommonMethod.validate(rec.getListReports())){
记录设置成功(真);
noIncrement=100/(cnt);
logger.info(“generateExcelReportPart1 4”);
而(无增量*cnt>100){
无增量-=0.25;
}
isSuccess=true;
结果=报告\u生成\u结果.PROGRESS.getAlert(String.valueOf(Math.round(noIncrement))+“%”;
}
logger.info(“generateExcelReportPart1 5”);
记录设置当前进度(无增加);
记录setNoIncrement(noIncrement);
记录设置结果(结果);
记录设置成功(isSuccess);
}
捕获(SQLE异常){
info(“本地化消息:+e.getLocalizedMessage());
logger.info(“异常消息:+e.getMessage());
logger.info(“异常原因:+e.getCause());
e、 printStackTrace();
e、 printStackTrace();
}
}
}
“rec.setResult(result)”中的值应显示在module.jsp文件中。在屏幕截图console.log(result)中;var data=$.parseJSON(结果);如果显示null,则需要查看服务器的响应。如何查看服务器的响应?我尝试记录它,它显示values.logger.info(“rec.setResult(result);“+rec.getResult()+”rec.setSuccess(issucess);“+rec.issucess());ResultASQBatchController-rec.setResult(结果);1%rec.setSuccess(isSuccess);在您的屏幕截图中,console.log(结果);var data=$.parseJSON(结果);如果显示null,则需要查看服务器的响应。如何查看服务器的响应?我尝试记录它,它显示values.logger.info(“rec.setResult(result);“+rec.getResult()+”rec.setSuccess(issucess);“+rec.issucess());ResultASQBatchController-rec.setResult(结果);1%rec.setSuccess(isSuccess);真的
model.addAttribute("urlExcelLink", "mainASQBatch/DownloadExcel.htm");
model.addAttribute("contGenExcelUrl", "mainASQBatch/contGenerateExcel.htm");
@RequestMapping(method = RequestMethod.POST, value="/DownloadExcel") //
public void DownloadExcel(@ModelAttribute("ResultASQDataVO") ResultASQBatchVO vo, ModelMap model, HttpServletRequest req, HttpSession session, HttpServletResponse res) {
logger.info("generateExcelReportPart1 year:" + vo.getYear() +
"," + vo.getPeriod() +
"," + vo.getProgramId() +
"," + vo.getBatchId());
ResultASQDataVO rec = new ResultASQDataVO(vo.getYear(),
vo.getPeriod(),
vo.getProgramId(),
vo.getBatchId());
if(CommonMethod.IsSessionTimeOut(session)) {
rec.setResult("Session Timeout");
rec.setSuccess(true);
}
else {
boolean isSuccess = false;
String result = "";
try {
logger.info("generateExcelReportPart1 1");
List<ResultASQDataVO> lstReport = resultASQDataSER.distinctWorkSheet(
new ResultASQDataVO(rec.getYear(),
rec.getPeriod(),
rec.getProgramId(),
rec.getBatchId()));
String arr = lstReport.toString();
rec.setListReports(String.join(";", arr));
logger.info("generateExcelReportPart1 2");
int cnt = lstReport.size() + 1;
String dirReports = ReportCommonMethod.getTempReportFolderWithTimeStamp(new File(context.getRealPath("/")));
rec.setDirPath(dirReports);
rec.setFiles("");
float noIncrement = 0f;
rec.setSuccess(isSuccess);
logger.info("generateExcelReportPart1 3");
if(CommonMethod.validate(rec.getListReports())) {
rec.setSuccess(true);
noIncrement = 100/(cnt);
logger.info("generateExcelReportPart1 4");
while(noIncrement*cnt>100) {
noIncrement -= 0.25;
}
isSuccess = true;
result = REPORT_GENERATE_RESULT.PROGRESS.getAlert(String.valueOf(Math.round(noIncrement)) + "%");
}
logger.info("generateExcelReportPart1 5");
rec.setCurrentProgress(noIncrement);
rec.setNoIncrement(noIncrement);
rec.setResult(result);
rec.setSuccess(isSuccess);
}
catch (SQLException e) {
logger.info("Localized Message: " + e.getLocalizedMessage());
logger.info("Exception Message: " + e.getMessage());
logger.info("Exception Cause: " + e.getCause());
e.printStackTrace();
e.printStackTrace();
}
}
}