使用AJAX提交表单来更新数据库 [英] Using ajax to submit a form to update database

查看:117
本文介绍了使用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提交表单来更新数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆