У меня есть страница администратора, которая может вставлять, обновлять и удалять данные. Я хочу показать простой загрузочный 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