2011-12-13 65 views
0

我有一個顯示項目列表的頁面。用html,css,php和使用mysql db編碼頁面。我的邏輯正確嗎?使用Mysql的Ajax和/或PHP

在該頁面上,用戶可以請求將其中一個項目添加到其特殊列表中。

我想在頁面內完成此操作,而無需執行完整的頁面刷新。所以用戶點擊按鈕添加,項目被添加到他們的列表和按鈕改變,所以他們不能再次添加它。

我是否使用ajax調用來在頁面後面運行代碼,然後刷新div?

或者是否有更好的方法來做到這一點?

如果用戶關閉了js,我寧願選擇一個php選項,但不知道是否可以使用js來完成。

任何幫助表示讚賞。

+2

總之,是的,你是對的。沒有PHP的唯一方式,不會刷新整個頁面,檢查他們有js或警告他們。 – 2011-12-13 21:03:24

回答

2

如果你想要動態內容(改變頁面而不刷新),你將不得不使用Javascript。要做你正在問的問題,你可以通過Ajax調用一個PHP腳本,用新的項目輸出div的內容,然後根據該響應更改div。

0

Dagon是完全正確的。創建一個表單來處理請求,並將表單的動作設置爲您想要處理請求的PHP腳本。請注意,雖然這可以是您用於處理您的ajax請求的同一個php腳本,但它不一定非要。很多時候,當我實現這樣的功能時,我會設置PHP發送變量作爲POST(在禁用JS的情況下),並將我的ajax請求作爲GET,這樣我就可以使用一個PHP頁面來處理'相同'的請求。當使用AJAX時,我會讓腳本回顯一個特定的代碼,然後得到返回的ajax響應句柄。

if(val == 'OK') { 
//in event of success, perhaps you want to hide the original form and show a success message 
} else { 
    //do something like unhide a hidden div to display an error 
} 
0

如果JavaScript被關閉,則必須重新加載頁面。在你的情況下,jQuery可能非常方便,只需重寫你需要重寫的元素。服務器發送一個簡單的json。使用PHP框架也可能是一個好主意,因爲你問它的方式似乎(尊重並且不想冒犯),你沒有使用任何框架,並且可能陷入使你的腳本易受攻擊的地方(例如sql注入)

如果您的訪問者沒有啓用JavaScript並且您想要服務,那麼您必須執行頁面重新加載。首先檢查是否值得去做,誰是你的客戶/訪問者,他們使用什麼瀏覽器,......這樣的問題可以幫助你設計你的頁面/應用程序。