簡體   English   中英

提交HTML表單時如何強制不接收數據

[英]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&#33;" />

  <input type="hidden" name="CheckedBox" value="3" />

  <input type="submit" value="Submit request" />

</form>

提交時,它發送數據,但也接收響應並下載它。 這不應該發生。

條件是:

  1. 我無權訪問其他域(example.com)

  2. 我可以完全訪問自己的服務器(PHP,Jquery,JS,HTML)

  3. 表格應自動提交

  4. 如果另一個域(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&#33;" />
    <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&#33;",
    "CheckedBox": "3"
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM