[英]How to Force NOT receive data when submitting HTML form
我正在制作一個表單,該表單將在頁面加載時自動提交。它將表單數據提交到另一個域,問題是當表單提交后,它將自動從另一個域接收php格式的JSON數據,該域由我的用戶自動下載。 我希望我的表單應該提交數據,但不接收響應,或者如果接收到該信息,則應丟棄該不下載的數據。
index.html
<form name="certform" id="contactForm" action="http://example.com/submit.php" Method="POST">
<input type="hidden" name="VoteId" value="111AAA" />
<input type="hidden" name="VoteName" value="Vote!" />
<input type="hidden" name="CheckedBox" value="3" />
<input type="submit" value="Submit request" />
</form>
提交時,它發送數據,但也接收響應並下載它。 這不應該發生。
條件是:
我無權訪問其他域(example.com)
我可以完全訪問自己的服務器(PHP,Jquery,JS,HTML)
表格應自動提交
如果另一個域(example.com)發送回數據,則不應將其自動下載到用戶的瀏覽器中。
在PHP中,您可以使用curl來實現此目的,以便發送POST,但是在發送之后,您仍然可以管理必須執行的操作:
if(isset($_POST['request'])) {
$url = 'http://example.com/submit.php';
$fields = array(
'VoteId' => $_POST['VoteId'],
'VoteName' => $_POST['CheckedBox'],
'CheckedBox' => $_POST['CheckedBox'],
);
$count = count($fields);
$fields = http_build_query($fields);
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_POST, $count);
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields);
$result = curl_exec($ch);
curl_close($ch);
}
?>
<form name="certform" id="contactForm" action="" Method="POST">
<input type="hidden" name="VoteId" value="111AAA" />
<input type="hidden" name="VoteName" value="Vote!" />
<input type="hidden" name="CheckedBox" value="3" />
<input type="submit" name="request" value="Submit request" />
</form>
嘗試使用jQuery: http : //api.jquery.com/jquery.post/
就像是:
$.post("http://example.com/submit.php", {
"VoteId": "111AAA",
"VoteName": "Vote!",
"CheckedBox": "3"
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.