如何在提交HTML表单时强制不接收数据

时间:2014-09-26 08:02:15

标签: javascript php jquery html forms

我正在制作一个在页面加载时自动提交的表单。它将POST数据提交到另一个域,问题是当提交表单时,它会自动从另一个域收到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)发回数据,则不应在用户的浏览器中自动下载。

2 个答案:

答案 0 :(得分:1)

在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>

答案 1 :(得分:0)

尝试jQuery:http://api.jquery.com/jquery.post/

类似的东西:

$.post("http://example.com/submit.php", {
    "VoteId": "111AAA",
    "VoteName": "Vote&#33;",
    "CheckedBox": "3"
});