2014-02-24 88 views
0

是否通過ajax回調函數生成html元素,比如帶有js的表格行,真的比php慢(echo「< tr> </tr>)?瀏覽器仍然需要將客戶端的信息呈現到表中,不管它是在php還是js中完成的。Javascript(Ajax)vs PHP:生成HTML元素

我在這個問題上找不到太多的信息,所以我想在這裏得到一些意見。從ajax調用動態生成元素?

注意:我原本忘記提到表格行會是來自數據庫的數據。

回答

0

在你的情況下使用ajax是浪費時間,因爲它應該向服務器發送請求,並且服務器應該處理它,然後使用結果進行響應,而使用本機JS(只有javascript)更快,因爲服務器不包括在內,當頁面加載速度最快時直接打印。

但是,如果您需要使用動態表格,您可以在不使用AJAX調用的情況下使用JavaScript,在此我沒有看到使用AJAX構建HTML表格的任何理由。

+0

使用適當的API,我發現最好用ajax調用請求原始數據,並且構建需要客戶端的DOM元素。如果您從通話中返回純HTML,那麼您可以防止在其他地方進行相同的呼叫,導致代碼重複。請參閱關於[耦合]的維基百科文章(http://en.wikipedia.org/wiki/Coupling_%28computer_programming%29#Disadvantages)。 – Phylogenesis

0

它使用ajax調用來生成html元素非常好。有可能會出現這種情況,您可以在此處將您生成的HTML元素返回到DYNAMICALLY。爲此,您不能只打印客戶端,因爲您需要從db獲取信息。

0
  1. 如果您有信息需要以表格的形式提前呈現,意思是在構建頁面之前,那麼您應該使用PHP。
  2. 如果要在運行時從服務器請求數據,則應使用AJAX。
  3. 如果你只是想建立沒有數據的表格(或重複頁面上已有的數據),那麼使用普通的JavaScript是最好的選擇。
0

假設你有一個現成的頁面與表

| A | A | A | 
    | A | A | A | 

現在你把一個Ajax調用從服務器讀取一些數據。如果你想替換整個表,可以用php創建表,並將其返回給瀏覽器,讓javascript替換整個表。

如果你只希望第二行改變,你可能希望php返回一個包含值的數組,並讓javascript根據該響應替換單元格內容。

但是有一種方法,你仍然需要去circle => server =>瀏覽器。所以javascript改變頁面所需的時間不會爲此添加太多時間。