以前用過一次這種技術,這次用居然忘了,現紀錄下來,下次再用就來看看。
首先在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代碼中設置一致。