以前用过一次这种技术,这次用居然忘了,现纪录下来,下次再用就来看看。
首先在html中需要准备好form和iframe元素代码如下:
<form id="speaker_form" action="http://sunchao1.data.mix.sina.com.cn/" method="post" target="form_iframe"> ... </from> <iframe name="form_iframe" style="display:none;"></iframe>
注意form的target属性要与iframe的name属性一致,这样当form提交时就会在iframe中打开链接的地址。
js代码如下:
document.domain = 'sina.com.cn'; window.speakerFormCB = function(rs){ ... }; document.getElementById('speaker_form').submit();
首先要把domain设置成主域,注意如果是跨主域的提交是不能得到回调函数的,回调函数因为是个全局函数,名字起的越怪异越好,不要污染了全局变量。
后端返回代码如下:
<script> document.domain = 'sina.com.cn'; window.top.speakerFormCB({status:true, data:...}); </script>
这里设置的主域要与js代码中设置一致。