本文介绍了使用AJAX提交表单来更新数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
试图通过一个隐藏的数据使用AJAX来更新我的SQL。但它没有工作,没有错误消息了。
HTML
<形式ID =hidden_form>
<输入类型=隐藏ID =id_hiddenNAME =id_hidden>
<输入类型=提交值=接受>
< /形式GT;
AJAX
$(#hidden_form)。递交(函数(){
$阿贾克斯({
键入:GET,
网址:milestoneAccept.php
数据:$(#hidden_form)序列化(),//序列化形式的内容。
成功:功能(数据){
$(#add_success)的HTML(数据);
$(#add_err)HTML()。
}
});
});
PHP
的$ id = $ _GET ['id_hidden'];
$ SQL =UPDATE projectmilestone SET接受= 1 WHERE ID ='的$ id';
如果(mysqli_query($ CON,$ SQL)){
回声项目接受;
} 其他 {
回声mysqli_error();
}
?>
解决方案
你是不是preventing提交事件的默认行为,因此,Ajax请求发送之前,表单提交和页面重载
//捕获事件对象参数
$(#hidden_form)。递交(函数(EVT){
$阿贾克斯({...});
// prevent的默认行为
。EVT preventDefault();
Trying to pass a single hidden data to update my sql using ajax. But it is not working and no error message too.
Html
<form id="hidden_form">
<input type="hidden" id="id_hidden" name="id_hidden">
<input type="submit" value="Accept">
</form>
ajax
$("#hidden_form").submit(function(){
$.ajax({
type: "GET",
url: "milestoneAccept.php",
data: $("#hidden_form").serialize(), // serializes the form's elements.
success: function(data){
$("#add_success").html(data);
$("#add_err").html("");
}
});
});
php
$id = $_GET['id_hidden'];
$sql = "UPDATE projectmilestone SET accepted=1 WHERE ID='$id'";
if (mysqli_query($con,$sql)){
echo "Project Accepted";
} else {
echo mysqli_error();
}
?>
解决方案
You aren't preventing the default behaviour of the submit event so, before the Ajax request is sent, the form is submitting and the page is reloaded.
// Capture the event object argument
$("#hidden_form").submit(function(evt){
$.ajax({…});
// Prevent the default behaviour
evt.preventDefault();
这篇关于使用AJAX提交表单来更新数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!