要跨域发送一个post请求,应该怎么处理呢?
有了解iframe跨域,我的理解是在a.html里面去嵌套一个iframe:b.html,在a.html里面要请求数据的时候,让b.html发送请求,得到服务端返回的数据再传递给a.html . 是这样的吗?有个疑问,为什么b.html可以发送请求呢?
主域名是相同的。
补充一下两个域名:
http://a.sf.com/a.html --- 发送请求的页面
http://b.sf.com/getData?param=1 --- 后端接口
要跨域发送一个post请求,应该怎么处理呢?
有了解iframe跨域,我的理解是在a.html里面去嵌套一个iframe:b.html,在a.html里面要请求数据的时候,让b.html发送请求,得到服务端返回的数据再传递给a.html . 是这样的吗?有个疑问,为什么b.html可以发送请求呢?
主域名是相同的。
补充一下两个域名:
http://a.sf.com/a.html --- 发送请求的页面
http://b.sf.com/getData?param=1 --- 后端接口
先说前提:
然后分析下你的需求:
因此,JSONP和图像ping直接排除,传统方法基本就只剩下cors方案了。
所以,解决方案是后端配置cors方案,如何配置可以参考:
或者,干脆用websocket,这个方案没有跨域问题(但是和普通ajax开发区别很大)
最后,问下,应该是说的是ajax这种异步post吧?如果不是的话,用传统的表单post也是可以请求的,它没有跨域问题(不过,前端无法获取结果,不属于异步开发)
你说的在a页面嵌入b页面,b页面和服务端是同域的,所以可以正常通讯,那么问题就是a,b页面之间的通讯,a,b两个页面也是跨域,一般来说a页面也是不能和b页面通讯的,但是在html5可以使用postMessage进行通讯,如果不支持html5的话,a页面其实可以通过地址的hash和b页面进行通讯,只要把数据附加在b页面的地址#后面b页面就能拿到数据
不太清楚你们的架构是什么样子,我做的都是自己后端有个express服务器,负责托管静态页面,和转发各种请求到其他人的服务上。我都是自己用http-proxy-middleware, 两秒钟搭建反向代理,所有请求都是向同源的路径发请求,proxy负责转发,直接绕过浏览器,美滋滋。
10 回答11.6k 阅读
2 回答3.1k 阅读✓ 已解决
4 回答4.6k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
4 回答2.1k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
这么做是因为b.html与服务器同域。
iframe页面间的数据读取也有跨域问题,这种方式不大行啊。
跨域问题出现在:http请求、cookie、跨域。