2013-07-10 58 views
0

這是一個很好的編程實踐,用另一個佈局組件替換而不刷新?用javascript代替部分網頁 - 好?

例如說我想分揀物品。是不是一個好主意,使用JavaScript排序他們沒有任何刷新,或者我應該刷新並調用PHP來排序數據?

編輯:我明白所問的方式,這個問題太開放了。我們有兩種方式來做事情。

服務器端:

一)依賴於服務器和用戶提供128MB RAM的PC不會有任何問題。

b)需要服務器端的資源(帶寬和CPU功率),同時讓用戶等待頁面加載。

客戶端:

一)做過這樣一個神奇的。如果用戶得到了一個i7 CPU,它會像魔術一樣工作。也沒有浪費,也沒有等待時間。

b)如果用戶得到了一個緩慢的pc,是否需要時間來執行操作?說,我想用javascript來替換50個小圖像(圖標)和300個文本框。我應該用javascript還是php來做這件事?如果用戶得到了2000個電腦,他會注意到延遲或什麼?

+1

這不好還是不好 - 這取決於您希望您的用戶體驗如何。 – AndyPerfect

+0

UX不會重新加載整個頁面會更好。這是因爲刷新是同步的,並且ajax是異步的;不是很多人意識到這一點,但它對用戶很重要。你可以在頁面上做一些其他事情,而ajax加載一組新的有序行,但是如果你在等待一個PHP提交,頁面被凍結和重繪,失去光標焦點​​和任何未保存的用戶輸入的數據處理。你能想象不得不重新啓動Excel來重新計算嗎?誰會買那個? – dandavis

+0

我不得不對它進行測試,但是我的直覺告訴我,考慮到您描述的工作量,在大約2000年的PC中,AJAX調用和客戶端DOM操作不會太慢。當然,「太慢」與用戶習慣給予網絡其他部分的狀態有關。我的意思是,所有其他網站也正在做類似的事情。您的網站的表現與其他網站類似。 –

回答

3

幾乎每個您所做的AJAX調用都將使用Javascript來操縱DOM。我認爲這在很大程度上取決於你想要完成什麼,但是我不認爲如果沒有充分的理由,強制用戶完成整個Web服務器的往返旅程是沒有理由的。

+0

那麼哪一個強制往返? – dandavis

+0

只有php的服務器調用是「往返」。雖然JavaScript使用PHP來做同樣的事情。他們的意思是通常沒有理由重新加載整個頁面。 AJAX是大多數網絡現在的工作原理,非常棒。 – DrCord

+0

從技術上講,他們都回到網絡服務器。儘管如此,「往返」通常意味着全面回發。問題是有多少數據會通過網絡傳遞,瀏覽器需要做多少工作才能呈現結果更改。如果您進行完整回發,則瀏覽器將不得不再次下載整個頁面。如果你做了一個AJAX調用,大概只有數據被髮回。然後你的Javascript使用這些數據來操縱DOM中需要改變的部分。 –

0

那麼,首先,你可以回答這個問題,你是否想要排序完成服務器端或客戶端。如果你想要客戶端,那麼堅持JavaScript,否則去服務器端。根據排序的大小/硬件支持/等等,您可能希望保留它在客戶端。

現在,如果您使用php或其他語言刷新頁面,那麼您將不得不要求用戶重新下載頁面以查看新內容。如果這沒關係,那麼就這樣做。