我的網站上有一項功能:刪除不刷新頁面。用戶只需按下'刪除',瀏覽器就會發送Ajax請求。它會用ID參數加載'delete'腳本。Ajax請求'onError'處理程序
一切正常。但由於數據庫的參照完整性,它不是很好。例如,有可能刪除一些人居住的街道。
我想升級我的腳本。我想添加一個檢查來刪除腳本,並且如果某些「人員」連接到「街道」表,則不要讓刪除數據。點擊按鈕的
jQuery的處理程序:
$('body').on('click', '.deleteStreet', function()
{
var id = $(this).attr('id');
var hideMe = $(this).parent().parent();
var dataString = 'id=' + id;
if(confirm("Are you sure you want to delete street? It is possible some people living there!"))
{
$.ajax({
type: "GET",
url: "/index.pl?mode=streets&action=delete",
data: dataString,
cache: false,
success: function(e)
{
hideMe.hide();
}
});
return false;
}
});
它無論如何都會調用腳本,現在反正會刪除數據。我可以添加一些檢查現在刪除腳本,它不會刪除,但jQuery腳本無論如何將工作,無論如何將隱藏錶行(因爲請求發送好,沒有404等)
1)是否有可能請參閱刪除腳本結果並根據它隱藏或不隱藏行?例如,它會返回true或false,js腳本會抓住它並顯示關於刪除或不刪除數據的消息。
2)這個問題是由我的網站結構造成的。在index.pl
上有一些開關,並根據查詢加載適當的腳本加載(mode=street
,然後加載street.pl
,mode=user
然後加載users.pl
等)。因此它會顯示在delete.pl
腳本之前加載的所有數據,並且不可能檢查返回的腳本是真是假。
任何幫助? :) 謝謝!
P.S .:我非常抱歉我的英語不好。
要刪除數據,您應該使用POST請求。爲什麼?所以最終用戶不會只輸入'/ users/delete /#id'並刪除用戶?是的,沒關係,我也只是想過。 –
好的。 E包含結果的html。但它有標籤' ....'。看看我的第二個問題。另外,你能否解釋何時e可用? –
您必須在您的ajax請求中調用其他文件,而不是索引。看起來像你的刪除功能?你有什麼語言服務器端?你應該把你的函數放在另一個文件中。 – MamaWalter