iframe或者window.open()添加请求头方法

  1. 首先我们要明白iframe是不能添加请求头的,这里我们能做的就是改造iframe 里的src指向页面,通过异步请求,添加请求头,拿到html数据,再反写进iframe
    例如:
    在当前vue页面修改iframe
     
    
    //初始化方法
    init(){
               //发送请求得到html数据
            this.$http.get(this.$route.query.url).then(res =>{
                    this.form=res;
                    var iframeWin = this.$refs['report_id'].contentWindow;
                       //向子页面发送参数
                    iframeWin.postMessage({
                        url: this.$route.query.url,
                        data:res //页面html代码res
                    }, '*');
                });
    }

    在子页面query.html里面拿到父页面vue页面的参数data,将data里的html渲染进子页面的iframe