2013-03-01 45 views
0

我目前正在學習如何利用ajax將信息發佈到外部頁面和jquery,然後基於發佈的信息處理刷新頁面上的特定元素。我正在使用bootstrap-ajax插件開始使用,並且所有內容都按預期工作。不過,我認爲必須有更好的方法或做法來創建服務器端HTML然後我使用的方法。創建一個由php代碼中呈現的html組成的json變量?

這是AJAX的插件是如何工作的:

  1. 開始時你有一個初始的PHP頁面,並定義要由AJAX插件來處理的形式和要更換被div的或刷新一旦表格中的數據發佈完畢。

  2. 插件提交使用Ajax指定頁面,然後用JSON編碼變量包括{「divToReplace」 =>「renderedHTMLusedForReplacement」}

我的當前工作流的響應由創建的數據對於一個div最初的PHP代碼將被更新,這通常是這樣的:

<div id="<?php echo $itemID; ?>" class="<?php echo $thisDivClass; ?>"> 
    <div class="span5"> 
     <h4><?php echo $innerTitle;?></h4> 
      ....... 
      .......... 

我再有複製和修改該分區的代碼,並創建一個額外的功能,將處理PHP,然後保存HTML變成一個像這樣的變量:

$divHtml='<div id="'.$itemID.'" class="'.$thisDivClass.'"> 
      <div class="span5"> 
       <h4>'.$innerTitle.'</h4>'; 

不用說我遇到的代碼更大的量要做到這一點,它只是似乎是必須有一個更好的方法,以某種方式繪製原代碼,並保存的HTML一個變量不必複製和修改整套代碼。我對ajax,jquery和json比較陌生,而且我略高於新手級,所以我很可能會在這個過程中完全錯誤或缺少一些非常基本的東西。

任何幫助,建議或建議將不勝感激。謝謝!

回答

0

Based on the documentation,它看起來像插件允許您指定HTML片段,而不是整個div。如果您發佈的代碼段真的代表您正在做的事情,看起來結構的div沒有變化,但的內容是。

因此,根據您至少發佈的內容,您可能只需將插件的某些鍵/值對包含要更改的div部分的選擇器以及想要轉到的新內容那裏。這應該至少可以讓你不必重新創建整個div。

我會說,以我的經驗,它有時混亂,可以創造更多的工作使用插件,像這些,當你剛剛開始使用AJAX和jQuery和尚未舒服基礎。它可以結束實際上更簡單,更省時(以及更有利於您)嘗試使用普通jQuery $.ajax()請求完成您想要的操作。至少你會花時間學習適用於幾乎所有項目的基礎知識,而不是試圖學習如何使用某人的插件。但是,一如既往,您的里程可能會有所不同。