0
我正在嘗試使用以下jQuery彈出式窗口進行跨域POST。 IE瀏覽器允許我拒絕jquery.min.js第19行的權限。請注意,我在www.mysite.com上運行以下腳本,並試圖將數據發佈到www.google.com。從而製作一個跨域的帖子。我認爲這就是IE爲什麼拒絕我的權限。我知道應該有一個解決方案來創建一個隱藏的iframe,但我不知道如何在我的代碼中實現這一點。一些例子將不勝感激。提前致謝!跨域jQuery彈出式POST
<html>
<head>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/smoothness/jquery-ui.css" type="text/css" />
<style type="text/css">
#register { display: none; }
.ui-dialog { font-size: 10px; }
.ui-dialog .ui-dialog-titlebar-close { visibility: hidden; }
</style>
</head>
<body>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/jquery-ui.min.js"></script>
<script type="text/javascript">
function loadpopup(){
function Init()
{
jQuery('#register').dialog({ width: 400, resizable: false, buttons: { "Continue": function() {
if (jQuery("#email").val().length < 3)
{
alert('Please enter your email address to continue.');
jQuery("#email").focus();
}
else
{
jQuery("#email_2").val(jQuery("#email").val());
$.post("http://google.com/register.php", $("form[name='registerform']").serialize());
jQuery('#register').dialog('close')}
}
}, closeOnEscape: false, modal: true, show: 'slide' });
}
jQuery(document).ready(Init);
}
loadpopup();
</script>
<div id="register">
<form>
<center>
<table><tbody>
<tr><td align="center" style="text-align: center; font-size: 10px; background: #FFFFFF;">
<br><h3>Register</h3>
</td></tr>
<tr><td align="left" style="text-align: justify; font-size: 11px; background: #FFFFFF;">
Please enter your email address to continue.</br></br>
</td></tr>
</tbody></table></center>
<center>
<div>
<table>
<tbody>
<tr><td align="left" style="font-size: 12px; background: #FFFFFF;"><b>Email:</b></td><td align="left" style="background: #FFFFFF; font-size: 11px;"><input type="text" id="email" name="email" maxlength="26"/></td></tr>
</tbody>
</table>
</div>
</form>
</center>
</div>
<form name="registerform" action="http://google.com/register.php" method="post">
<input type="hidden" name="email_2" id="email_2" />
</form>
</body>
</html>
我沒有發佈到谷歌。接收POST請求的域名在我的控制之下。我可以不讓我的服務器接受它嗎?我意識到我wouldnt能夠得到任何返回數據,但它只是需要POST和多數民衆贊成在它。我知道可以使用iframe繞過相同的原點策略,但我不知道如何去做這件事。 – Matti 2011-03-02 01:28:46
@Matti'$ .post(「http://google.com/register.php」...'這說不然... – alex 2011-03-02 01:40:48
這就是爲什麼我說,我引用「我試圖將數據發佈到www .google.com例如...「 – Matti 2011-03-02 01:42:52