如何通過iframe以post方式提交form表單


以前用過一次這種技術,這次用居然忘了,現紀錄下來,下次再用就來看看。

首先在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代碼中設置一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM