我有一个可以插入,更新和删除数据的管理页面。我想在做任何这些操作时显示一个简单的加载gif。所有这3个操作都完美地工作,但是当我尝试使用一些Ajax时,它停止工作。使用Ajax加载更新数据不起作用
以下是我的Ajax代码。此代码仅显示一个div
,它在提交表单后立即加载gif,并且如果成功完成,则再次隐藏它。那很简单。现在
$("#form").submit(function(e) {
e.preventDefault();
$("#loading").show();
$.ajax({
url: "Operations.php",
dataType: "HTML",
success: function() {
$("#loading").hide();
}
});
});
,该Operations.php
,由各种形式执行,包含3个数据库操作。它存储由hidden
字段发送的类的名称,接收来自提交表单的button
的值,并根据其值将实例化ServiceDatabase
传递类并执行一个操作。
$class = filter_input(INPUT_POST, "class");
$id = filter_input(INPUT_POST, "id");
@require_once "../../php/Connection.php";
@require_once "../../php/ServiceDatabase.php";
@require_once "../../php/" . $class . ".php";
$Operation = new ServiceDatabase($connection, new $class);
switch ($_REQUEST["submit"]) {
case "insert":
$Operation->setPostVariables();
$Operation->insert();
break;
case "update":
$Operation->setPostVariables();
$Operation->update($id);
break;
case "delete":
$Operation->delete($id);
break;
}
最后,只是形式。
<form id="form" class="center-block" action="Operations.php" method="post">
<h3>Alterar - <small><?php echo $class ?></small></h3>
<input type="hidden" value="<?php echo $class ?>" name="class"/>
<input type="hidden" value="<?php echo $id ?>" name="id"/>
<?php echo $Table->generateAdminTables($id); ?>
<button type="submit" name="submit" value="update" class="btn btn-success btn-update">Atualizar</button>
</form>
会发生什么是数据库操作,在这种情况下,更新,无法正常工作,就像如果没有达到Operations.php
文件。
我不认为你在任何地方插入数据。 – BlackCetha
我不想插入任何东西,只要执行'update()',而我的'div'加载GIF的内容是可见的。 – mfgabriel92
可能是'success:function()'。如果我记得正确,你需要在函数中指定两个参数。 – BlackCetha