2016-12-31 67 views
0

我的當前設置應該jQuery的ajax去同一頁或另一個PHP文件?

  1. 我的網站主頁(rankings.php)顯示在頂部的搜索表單由他們的性別或城市來過濾用戶的用戶列表。

  2. 我想使用jquery ajax更新結果而不重新加載頁面。

  3. 我的問題:

    • 用兩種方法(載,張貼,得到),你需要輸入該網址發送請求,但我不知道如果URL應該是rankings.php頁面本身或另一個包含mysql查詢的php文件從數據庫中獲取新的結果。哪個最好?應ajax請求轉到另一個PHP,然後結果發回到主要的PHP文件,其中的內容將被重新加載,或者如果ajax請求轉到它來自同一個php文件,然後jquery用返回的html數據替換內容?

較短的版本問題:要一個AJAX網址指向AJAX請求來自或指向另一個PHP文件,然後將數據返回的頁面?

+0

如果你已經有一個服務器端過濾系統,也就是說你可以使用reload進行搜索,那麼你可以使用'$()。load'函數http://api.jquery.com/load/有能力加載頁面片段,並且您可以輕鬆替換內容。 –

回答

1

它應該指向執行您需要AJAX請求所需的任何函數的腳本的URL。它可以是包含調用者的頁面中的相同或不同的URL。如果它是相同的頁面,則需要在腳本中添加條件,以檢測它是用於處理AJAX請求還是顯示常規頁面,通常通過檢查參數。

例如,您可能會發送一個帶有AJAX請求:

$.ajax({ 
    url: '<?php echo $_SERVER['PHP_SELF']; ?>', 
    type: 'post', 
    data: { action: 'dosomething', ... }, 
    ... 
}); 

然後在PHP腳本,你會怎麼做:

if (isset($_POST['action']) { 
    // code to process AJAX request 
} else { 
    // code to display the page HTML 
} 

總的來說,我發現它簡單把AJAX代碼一個單獨的腳本,所以我不必這樣做。

相關問題