在頁面上我有以下幾點:發佈形式與https://開頭行動,隱藏的iframe
<iframe width="1" height="1" name="hidden-iframe">
<form id="myform" method="POST" action="https://mysite.com/process-form-data.php" target="hidden-iframe">
<input name="data" />
<input type="submit" value="Submit" />
</form>
<script type="text/javascript">
$('#myform').submit(function(){
$('#myform').submit();
setTimeout("location.reload(true);",5000);
return false;
});
</script>
我想要的形式發佈到隱藏的iframe,等待5秒鐘(爲形式數據足夠時間發送),然後刷新頁面。
如果表單動作是http,那麼這個過程就很好。
但是,當表單動作爲https時,當用戶點擊提交時,表單數據將被髮送,並且瀏覽器將加載該表單數據。表單數據不會發布到隱藏的iframe,沒有5秒的超時,並且原始頁面不刷新。
任何想法如何使規定的目標發生?我應該補充一點,表單的動作與頁面本身不同。很顯然,這裏必定會出現某種跨域安全問題。有沒有更好的方法來做到這一點?我願意接受任何建議。
這是在所有瀏覽器中發生的嗎?我只是在Firefox中遇到同樣的問題,它正在中止發佈的請求。 – Diego 2011-05-10 15:40:32