我想我應該問這之前繼續我的腳本項目,後來意識到我可能做錯了什麼。不妨先節省一下我自己的時間,看看我所做的是否確實是正確的。使用PHP和JQuery
我對PHP和JQuery相當陌生,並且仍然掌握了這兩者。我最近遇到了一個問題,我想在使用JQuery執行某個函數後運行一些PHP代碼,因此在做了一些在線閱讀之後,我得到了創建一個PHP文件的想法,該文件只做我想做的事情併發布給它從我的JQuery函數與所需的變量。這樣我就可以在同一時間實現我的服務器端和客戶端目標。然而!
它看起來不正確。完全一樣。我發現自己至少有一個簡單頁面的十個包含文件。當表單加載時,這些文件會包含在我的HTML代碼中,並且在使用我的JQuery函數刷新某個DIV後,它們會重新加載。這樣我就可以保持我的腳本動態,我懷疑爲了保持這種方式我還可以做其他事情。但是我經常需要在執行某個JQuery函數後更新東西,因此我調用了一個類似的文件來加載,但這次是一個文件,我將一些參數傳遞給(使用POST方法,通過JQuery) ,並在文件本身中執行所需的操作。
現在,在簡要解釋我目前的情況和工作方法後,我想知道我所做的是否正確。如果你仍然想知道我在說什麼,我想詳細解釋我的意思:
假設我有我的index.php文件,它打印我的數據庫中的數據和一些額外的行以及。一旦我點擊其中一個頁面按鈕,我想根據我已經植入頁面的表單更新我的數據庫,然後重新加載包含該數據的DIV。我不想重新加載整個頁面。
現在,如果我想這樣做,沒有JQuery本來很容易。如果POST參數確實有效,我會將數據發佈到相同的表單並更新它。然而,有沒有辦法不刷新該JQuery的DIV,所以我想出了一些與此類似:
$.post("/files/dosomething.php", { taskID: _taskID }, function(){
$("#div_tasks").fadeOut(800, function(){
$('#div_tasks').load('/files//load_div_A.php', function(){
$("#div_tasks").fadeIn(1500);
});
});
});
這就是我在我上週學習PHP和JQuery的在做。現在在我進一步討論這個之前,我想知道這是否是實現我的目標的正確方法。
//例B:
我有我的HTML代碼中DIV它打印任務的表格,例如。我如何打印它?我包含一個文件,該文件在我希望顯示錶的確切點處回顯表格。然後,在每一行中,都有一個名爲'delete'的按鈕,它從數據庫中刪除選定的行。我所做的是,使用JQuery(由於我只想要刷新DIV),我調用另一個調用remove.php的外部文件,並使用POST發送要刪除的任務的索引。該文件執行服務器端代碼,一旦完成,我將更新後的表格加載到該DIV中,方法是調用我在主頁面中首先調用的文件。這次該表將被更新,因爲它將從數據庫讀取更新的數據。
這是我怎麼做到的?這是正確的方式嗎?這對我來說似乎不太合適。我從來沒有這種方式編碼,似乎有點混亂。
在此先感謝和抱歉的長屁股問題。
只是爲了確保我已經得到了您的問題......您已經有一些執行操作的服務器端代碼,並且您要從不同的PHP腳本中加載一些HTML的響應數據。您始終可以從第一個腳本中返回該數據。我認爲你的問題更多的是關於如何構建你的項目,並將你的應用程序邏輯與演示分開,是的?有很多方法可以做到這一點,但如果不瞭解應用程序的更多信息,很難提出建議。 – Brad
這不是一個真正的腳本問題,而是一個邏輯上的問題,你說得對,是的。我的主要問題是意識到如何讓我的東西做到最好,最正確的方式。我會試着更清楚我想要做什麼,請看我最新的問題。 –