zoukankan      html  css  js  c++  java
  • 诡异的跨域问题

    Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "http://127.0.0.1:8079" from accessing a cross-origin frame.

        at HTMLIFrameElement.<anonymous> (http://127.0.0.1:8079/static/oss/ajaxupload.3.9.js:573:33)

    使用AjaxUploadFile插件出错:代码

    var doc = iframe.contentDocument ? iframe.contentDocument : window.frames[iframe.id].document;

    一样的请求地址,域名和端口后都一致,还提示 accessing a cross-origin

    分析代码:

       /**
         * 上传单个文件到OSS
         * @param request
         * @param response
         * @throws Exception
         */
        public static void uploadFile(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {
            JSONObject json = new JSONObject();
            MultipartFile file = request.getFile("img");
            byte[] data = file.getBytes();
            OssResponse ossResponse = ossUpload(data, file.getOriginalFilename());
            if (ossResponse != null) {
                json.put("url",ossResponse.getOssImgUrl());
                json.put("success","true");
            } else {
                json.put("success", false);
            }
            String html = "<!DOCTYPE html>"+
                    "<html>"+
                    "<head>"+
                    "<script type="text/javascript">"+
    //                "document.domain = '127.0.0.1';"+
                    "</script>"+
                    "</head>"+
                    "<body>"+
                    json.toString()+
                    "</body>"+
                    "</html>";
            PrintWriter writer = response.getWriter();
            writer.print(html);
            writer.flush();
            writer.close();
        }

    后台代码输出结果:

    <!DOCTYPE html>

    <html>

    <head>

    <script type="text/javascript">

           document.domain = '127.0.0.1';

    </script>

    </head>

    <body>

    {"success":"true","url":"//****44f64df0f06b40369a8cc7531ce77533.jpg"}

    </body>

    </html>

    解决方法:去掉  "document.domain = '127.0.0.1';" 即可

     
  • 相关阅读:
    Mybatis Generator生成Mybatis Dao接口层*Mapper.xml以及对应实体类
    ssh通过pem文件登陆服务器
    maven私服nexus上传第三方jar包以及下载
    springboot不占用端口启动
    springboot2.x纯注解整合dubbo
    mysql5.7 group by语法 1055
    java读取pdf文本转换html
    java 记录对象前后修改的内容(工具类)
    在docker中运行mysql实例
    Linux编辑启动停止重启springboot jar包脚本
  • 原文地址:https://www.cnblogs.com/liuxiutianxia/p/8743987.html
Copyright © 2011-2022 走看看