我有一個可以插入,更新和刪除數據的管理頁面。我想在做任何這些操作時顯示一個簡單的加載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