我有一个表格,例如:
<form method="post" action="some external URL">
<input type="hidden" id="id" name="session_id" />
<input type="hidden" id="val1" name="val1" />
<input type="hidden" id="val2" name="val2" />
<input type="submit" value="Send" />
</form>
我需要将此数据保存到mySQL中,然后再将其发送到“some external url” - 假设我的“保存到数据库”脚本位于“script / save”网址上。在通过此表单发送数据之前,如何将数据传输到那里?
修改
当“脚本/保存”给出正面响应时,我的表单只会被发送到“某个外部URL”,这样会很好。 你能帮帮我吗?
答案 0 :(得分:0)
数据库访问在服务器上处理,这是您的表单传输到的。因此,为此,请将表单重新路由到服务器上的其他脚本;此脚本将写入数据库,然后调用“some external URL”。
答案 1 :(得分:0)
在表单的onsubmit事件期间,您需要使用ajax将数据发送到您的网址。以下代码可能适合您。
$("form").submit(function(){
$(this).ajaxSubmit({url: 'script/save', type: 'post'});
});
答案 2 :(得分:0)
不是将表单发布到外部URL,而是将其发布到内部脚本:
<?php
// Process your $_POST here and get all the stuff you need to process your SQL statements.
// Then, POST to the external URL:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "your external URL");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
?>
答案 3 :(得分:0)
嘿,只需在提交时使用ajax调用,然后在完成ajax调用时提交表单
<html>
<head>
<script type="text/javascript">
function doSomething()
{
xmlHttp = new XMLHttpRequest();
xmlHttp.open('GET', 'yourscript.php, true);
xmlHttp.onreadystatechange = function(){
if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
var response = xmlHttp.responseText;
// response is what you return from the script
if(response == 1){
alert('works');
form[0].submit;
}else{
alert('fails');
}
}else{
alert('fails');
}
}
xmlHttp.send(null);
}
</script>
</head>
<body>
<form action="external-url" method="post" onsubmit="doSomething();">
<input type="text" name="blah" id="blah">
<input type="submit" value="save">
</form>
</body>
</html>