跨域提交时主页面获取目标服务器返回值的方法
在使用POST方式时,从A域向B提交表单,使用jsonp方式无法将结果返回给A域的主页面。只能使用script引用方式,这种get请求有很大局限性。
在非使用POST不可以时候,可以做以下方式解决:
A域主页面在提交前,动态生成一个隐含的iframe,同时准备好接收返回值的页面。
FORM的action为B域的目标页面,target为iframe.
B域的目标页面将返回值作为参为再重定向到A域的接收页面,可是用JS或服务器端直接发送跳转码,构造http://www.zzzyk.com /receive?msg=xxxx;
如果返回值很复杂甚至可以再构造FORM表单自动提交向A域和接受页面,来个反调用。
这样提交后iframe中已经是A域自己的页面,并从参数中获取了B域目标页面的返回值,它就可以任意把返回值返回给原来提交的主页面了。
诗剑书生的专栏
补充:Web开发 , 其他 ,