采坑了
主要是在文件保存之后如何給前端響應 本來以為 響應json 到前端發現不是
其實是響應個頁面到前端
官方文檔說明的響應格式

正確響應代碼
private static void writeResult(HttpServletResponse res, boolean success, String data) throws IOException {
res.setContentType("text/html;charset=utf-8");
Map<String, Object> map = new HashMap<String, Object>();
map.put("error", success ? 0 : 1);
if(success) {
map.put("url", data == null ? "" : data);
}else {
map.put("message", data == null ? "" : data);
}
PrintWriter out = res.getWriter();
String json = JacksonJsonMapper.getInstance().writeValueAsString(map);
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println("<HEAD><TITLE>Kindeditor</TITLE>");
out.println("<script type='text/javascript' src='/public/js/domain.js'></script>");
out.println("</HEAD>");
out.println("<BODY>");
out.println("<pre>");
out.print(json);
out.println("</pre>");
out.println("</BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
為了解決跨域問題 主要是引入domain.js domain.js內容如下
try{ (function(){ var hostname = window.location.hostname; if(!(/^\d+\.\d+\.\d+\.\d+$/.test(hostname))){ var harr = hostname.split("."); var hl = harr.length; if(hl>1){ try{ document.domain=harr[hl-2]+"."+harr[hl-1]; }catch(e){ document.domain=harr[hl-3]+"."+harr[hl-2]+"."+harr[hl-1]; } } } }()); }catch(e){}
即可解決
