zoukankan      html  css  js  c++  java
  • Kindeditor 上传图片 跨域错误 解决

    采坑了

    主要是在文件保存之后如何给前端响应 本来以为 响应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){}

     即可解决

  • 相关阅读:
    头文件里面的ifndef /define/endif的作用
    互联网小知识
    IT技术开发人员获得成功的六大步骤
    ab网站压力测试
    微软校招试题
    C程序编译过程浅析
    makefile变量赋值
    printf的题目
    Oracle命名规范
    javascript(js)小数精度丢失的解决方案
  • 原文地址:https://www.cnblogs.com/zlay0701/p/13111712.html
Copyright © 2011-2022 走看看