`
yanbo
  • 浏览: 21396 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

利用iframe另类方法绕过js跨域问题

 
阅读更多

我想大家都遇到过javascript跨域问题,话不多说,直接开始业务场景。

 

项目1中需要使用文件上传,上传到文件上传下载服务器,上传完成后,使用使用js讲上传完成的图片路径放入页面的input中,提交给后台。

 

很简单的要求,主要是局部刷新但是和跨域掺和一下,就比较麻烦了。

 

主要问题在于:

1.使用ajax不能提交给非当前域名(跨域问题),所以ajax方案完全不能使用

2.使用iframe提交后,需要回调页面实行js进行dom操作,不是同一个域名的子页面不能够进行js操作影响父页面(也是跨域问题)

 

我在网上搜的跨域问题解决主要是取数据的,用script标签解决,貌似不能解决发文件的问题。

发文件好像主要用swfupload,flash不会,所以就自己想解决方法吧。

 

最后的结果是这样的:

 

项目1中使用iframe包装自己的一个upload页面,upload主要是一个表单,表单的action设为文件上传下载服务器上的项目2提供的文件上传接口,文件上传接口最后在完成文件上传后,跳转到项目1中的callback页面,使用get传值的方式把路径传递过来,然后在callback页面执行js操作父页面。

 

很简单的思路,通过一个跳转回原项目页面的操作,把js跨域问题绕过了。

如果大家有更好的处理方法,希望能赐教.

 

 

 

分享到:
评论

相关推荐

    解决JS跨域访问IFrame的解决方案

    这种方法需要额外的服务器资源,但可以绕过同源策略。 在提供的`TestHTTPClient`文件中,可能包含了使用HttpClient进行跨域请求的示例代码。HttpClient是一个Java库,用于发起HTTP请求,通常用于服务器端编程。在...

    iframe 跨域解决方法

    解决`iframe`跨域问题有多种方法: 1. **使用`CORS`(跨源资源共享)**:服务器可以通过设置响应头`Access-Control-Allow-Origin`来允许特定的源访问其资源。例如,`Access-Control-Allow-Origin: *`表示允许所有源...

    完美解决iframe跨域问题

    3. **iframe跨域问题**:当iframe加载的页面与包含它的页面不在同一个域时,就会出现跨域问题,导致无法直接通过JavaScript进行通信,如获取iframe内的内容、设置iframe的属性等。 **二、iframe跨域的解决方案** 1...

    iframe跨域常用问题和iframe页面自适应

    本篇文章将深入探讨两个关键知识点:`iframe`跨域问题以及`iframe`页面的自适应。 一、`iframe`跨域问题 跨域是Web开发中的一个重要概念,它限制了浏览器从一个源获取另一个源的资源,以保护用户的安全。当`iframe...

    关于iframe跨域POST提交的方法示例

    以前在面试的时候经常遇到问关于跨域的事儿,所以自己对跨域有一定的概念性了解,知道什么是跨域以及解决跨域的方法,但是具体实际从来没有操作过,直到最近在公司项目中,遇到了一个需要使iframe跨域进行POST提交的...

    iframe 跨域访问session

    然而,当涉及到跨域时,`iframe` 遇到的问题之一就是无法正常访问父页面或被嵌入页面的`session`。这是因为浏览器的同源策略(Same-Origin Policy)限制了不同源之间的交互,包括`session`和`cookie`。 同源策略是...

    iframe跨域通信解决方法

    ### iframe跨域通信解决方法 在现代Web开发中,跨域问题经常出现并困扰着开发者。尤其是在使用`iframe`嵌入不同源的内容时,主页面往往无法直接与`iframe`内的内容进行交互,这就需要一种解决方案来实现跨文档消息...

    iframe跨域问题

    iframe跨域问题:Uncaught DOMException Blocked a frame with origin解决方法

    解决ajax不能访问本地文件问题(利用js跨域原理)

    本文将探讨如何利用JavaScript的跨域原理来解决这个问题。 首先,我们要理解什么是跨域。跨域是指一个源(Origin,由协议、域名和端口组成)试图访问另一个源的资源时,如果这两个源不相同,就会被浏览器视为跨域,...

    javascript插件 解决双向跨域问题

    代理服务器则是在服务器端处理跨域问题,通过将请求转发到目标源并返回结果,以绕过浏览器的同源策略。 现在,我们转向jcrossdomain这个插件。jcrossdomain是一个专门用于解决JavaScript跨域问题的工具,尤其适用于...

    js跨域解决方案

    4. **IFrame跨域通信**:利用`window.postMessage`方法,可以在属于不同源的两个IFrame之间进行通信。这种方法适用于页面嵌套场景,但不适用于跨域API调用。 5. **WebSocket跨域**:WebSocket协议本身支持跨域,...

    js跨域问题解决方案.

    通过设置一个代理服务器,所有跨域请求都先发送到代理服务器,由代理服务器转发到目标服务器,这样可以绕过浏览器的同源策略。 #### 3.4 document.domain 如果子域和父域是相同的顶级域名,可以通过设置`document....

    php main 与 iframe 相互通讯类 同域 跨域)

    这两个页面中可能包含了JavaScript代码,用于初始化iframe,设置通信接口,并调用`FrameMessage.js`和`json2.js`这两个JavaScript库。 `FrameMessage.js`可能是JavaScript实现的通信接口,它可能使用了`window.post...

    iframe跨域调用父窗口js.zip

    要解决iframe跨域调用父页面js方法的问题,我们可以利用以下几种技术: 1. **HTML5的postMessage和message事件**:这是现代浏览器支持的一种跨域通信方式。在iframe中,我们可以使用`window.parent.postMessage...

    arcgis js跨域解决策略

    代理服务器作为中间人,帮助前端应用程序转发请求到ArcGIS服务器,从而绕过同源策略的限制。在ArcGIS JavaScript API中,Esri提供了一个名为"Resource Proxy"的解决方案,即resource-proxy-master文件包所包含的内容...

    js跨域问题小结

    解决JavaScript跨域问题的方法有多种: 1. JSONP(JSON with Padding):这是一种早期的跨域解决方案,通过动态创建`<script>`标签来引入一个带有回调函数的JavaScript文件。由于浏览器允许不同源的脚本嵌入,JSONP...

    iframe跨域访问示例

    4. **JSONP(JSON with Padding)**:JSONP是一种绕过同源策略的技术,适用于只读请求。它依赖于动态插入`<script>`标签来加载可执行的JavaScript代码。服务器返回一个JavaScript函数调用,包含需要的数据,客户端...

    iframe 跨域 自动适应高度

    本文将详细讲解如何解决`iframe`跨域问题以及实现自动适应高度的功能。 1. **同源策略与iframe跨域** 同源策略是浏览器安全的一项基础机制,它限制了来自不同源的"文档"或脚本相互交互。当一个`iframe`加载的页面...

Global site tag (gtag.js) - Google Analytics