我正在制作一个在页面加载时自动提交的表单。它将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!" />
<input type="hidden" name="CheckedBox" value="3" />
<input type="submit" value="Submit request" />
</form>
提交时,它会发送数据,但也会收到响应并下载。这不应该发生。
条件是:
我无法访问其他域名(example.com)
我可以完全访问自己的服务器(PHP,Jquery,JS,HTML)
表格应自动提交
如果其他域(example.com)发回数据,则不应在用户的浏览器中自动下载。
答案 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!" />
<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!",
"CheckedBox": "3"
});