如何在页面加载时使用ajax向php提交隐藏表单?
我有一个带有一个隐藏值的表单,我想提交该表单而不刷新页面或来自服务器的任何响应消息。如何在ajax中实现这个?这是我的表格。我在同一页面上还有另一种表格。
<form id = "ID_form" action = "validate.php" method = "post">
<input type = "hidden" name = "task_id" id = "task_id" value = <?php echo $_GET['task_id'];?>>
</form>
答案 0 :(得分:3)
类似于Zafar使用jQuery的答案
实际上是jquery网站https://api.jquery.com/jquery.post/
上的一个例子$(document).ready(function() {
$.post("validate.php", $("#ID_form").serialize());
});
如果你想对你说你不想要的回复做任何事情,你可以.done(),. fail()和.always()。
纯pavascript中的
body.onload = function() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST","validate.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("task_id=" + document.getElementById("task_id").value);
};
答案 1 :(得分:1)
I think you have doubts invoking ajax submit at page load. Try doing this -
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
"url": "validate.php",
"type": "post"
"data": {"task_id": $("#task_id").val();},
"success": function(){
// do some action here
}
})
})
</script>
答案 2 :(得分:1)
如果你正在使用jQuery,你应该能够获得表单,然后在其上调用submit()
。
E.g:
var $idForm = $('#ID_form');
$idForm.submit();
答案 3 :(得分:1)
简单的解决方案 - jQuery AJAX发布了其他人建议的值,但直接嵌入了PHP值。如果您有多个表单,则可以根据需要添加更多键:值对。如果需要,添加成功/错误处理程序。
<script type="text/javascript">
$(document).ready(function(){
$.post( "validate.php", { task_id: "<?=$_GET['task_id']?>" } );
})
</script>
答案 4 :(得分:1)
正如其他人所说,如果你想在后台发送数据,则不需要表格。
<强> validate.php 强>
<?php
$task_id = $_POST['task_id'];
//perform tasks//
$send = ['received:' => $task_id]; //json format//
echo json_encode($send);
<强>的JQuery / AJAX:强>
$(function() { //execute code when DOM is ready (page load)//
var $task = $("#task_id").val(); //store hidden value//
$.ajax({
url: "validate.php", //location to send data//
type: "post",
data: {task_id: $task},
dataType: "json", //specify json format//
success: function(data){
console.log(data.received); //use data received from PHP//
}
});
});
<强> HTML:强>
<input type="hidden" name="task_id" id="task_id" value=<?= $_GET['task_id'] ?>>