2011-10-06 57 views
2

因此,我有一個由4個不同的AJAX容器組成的頁面(這意味着它們通過AJAX通過HTML進行填充)。我有一個附件部分,可以在每次執行新的上傳時刷新該部分。創建窗口小部件的Ajax頁面部分的最佳方式?

目前我有一個DIV被替換爲我想要的內容,然後當我執行某種AJAX POST操作時,它會返回更新後的HTML內容。在一個案例中,我有一個AJAX部分,其中包含一個包含AJAX部分的AJAX部分。這是一個「報價」屏幕,其中有一個「位置」部分,該部分爲每個附加到報價位置的頁面填充...並且每個位置都有一個「訂單項」部分,該部分填充了分配給該行的當前行項目列表位置。添加項目時,我會在每個位置附加一個AJAXform,以刷新訂單項列表。此外,我有一個附加到報價頁面的表單,用於在添加位置時刷新位置列表。

<!-- Quote page --> 
<div id="locations> 
    <!-- AJAX page listing locations --> 
</div> 
<form id="ajax-form-for-adding-locations"> 
    <input id="location-name" type="text"/> 
</form> 

<!-- Location page --> 
<div id="line items"> 
    <!-- AJAX page listing line items for this location --> 
</div> 
<form id="ajax-form-for-adding-line-items"> 
    <input id="item-name" type="text"/> 
</form> 

嵌套的AJAX部分似乎有點過分了我。有沒有更好的方法來設置它?

+2

不知道我完全理解你的解釋,但它是(和CoffeeScript的,和其他任何...這是純粹的愛!:))在您的應用程序範圍內請求同一個電話的位置及其訂單項?這將消除嵌套的ajax調用。 –

+0

目前我有報價頁面獲取位置列表,然後每個位置頁面負責檢索項目。我不確定這是否比在同一個電話中調用位置和物品更有效率。我只是想到.Net和Google Gadgets的Web部件,以及它們如何放置在應用程序中的任何位置,傳遞了一些參數,然後啓動並運行一致的基於AJAX的視圖。 –

+0

如果我正確理解這一點...爲什麼你不能只返回他們的信息的位置列表?服務器已經知道它需要發送的信息。爲什麼再次詢問它可能已經發送的信息? – jyore

回答

2

處理這種基於ajax的單頁應用程序設計的最好,最清潔,最具擴展性和最具未來性的方法是使用javascript MVC libraries之一。

個人我建議你backbonejs - 它有一個很好的社區,積極開發,輕量級和快速學習,足以能夠立即構建高質量的應用程序。

檢查website並查看示例應用程序使用主幹,通過簡短的(但完全覆蓋代碼)文檔,並看看示例待辦事項應用程序。您還可以撥打check the wiki page on github獲取更多資源和示例/教程

我們在嘗試其他選項之前在我們公司使用它,我們< 3它難以置信!

哦,你在標籤的jQuery提到 - BackboneJS扮演超級漂亮的jQuery

+0

我正在考慮使用類似ExtJS的東西,但backbone.jr看起來很乾淨!我沒有真正想過在我的.Net M(V)C 3上做一個JS MVC。 –

+0

骨幹效果最好,專爲在服務器端使用REST API架構而設計,如果您沒有適應它,可能會有點黑客攻擊!我們在我們的項目中使用導軌,並且這一切都非常適合,當我思考時我融化了! –

相關問題