簡體   English   中英

AJAX加載內容的優缺點

[英]Pros and cons of AJAX-loaded content

通過多個過濾器對數據集進行排序並立即顯示結果非常好,對吧?
我的解決方案是將“過濾器”(讀取表單)參數POST到名為dataset.php的頁面,該頁面返回編譯HTML中的相應數據集,可以直接加載到我的頁面中。

因此,除了這是一個完全禁止搜索引擎優化和停用Javascript的人之后,它似乎是一個很好的解決方案,可以在未來輕松構建。

但是,我還沒有把它視為一個好的或壞的整體解決方案的經驗。 我們對AJAX獲取的數據集應該關注什么?

因此,除了這是一個完全禁止搜索引擎優化和停用Javascript的人之后,它似乎是一個很好的解決方案,可以在未來輕松構建。

不完全正確,有像jQuery Ajaxy這樣的解決方案,它們使用歷史記錄跟蹤AJAX內容,同時保持SEO和javascript禁用友好。 您可以在行動中見到這對我自己的網站Balupton.com有證據它仍然是搜索引擎友好的這里

但是,我還沒有把它視為一個好的或壞的整體解決方案的經驗。 我們對AJAX獲取的數據集應該關注什么?

擁有Ajax加載的內容非常適合用戶體驗,它快速而且很好看。 如果您沒有歷史記錄跟蹤,那么它可能會非常混亂,特別是如果您使用ajax加載的內容來處理頁面等內容,而不僅僅是側邊欄內容 - 那么您就會脫離用戶所體驗到的一致性。 另一個警告是針對Ajax頁面的Google Analytics跟蹤。 這些缺點,你已經提到過的以及其他地方提到的其他一些都是非常困難的問題。

jQuery Ajaxy(如前所述)為幾乎所有問題提供了一個很好的高級解決方案,但如果你還沒有使用Controller架構,但是大多數人都能很快得到它,這可能是一個很大的學習曲線。

例如,要使用jQuery Ajaxy啟用歷史記錄可跟蹤的ajax內容以更改一組結果,您實際上不需要任何服務器端更改。 您可以在頁面底部執行以下操作: $('#results ul.pages li.page a').addClass('ajaxy ajaxy-resultset').ajaxify();

然后設置一個像這樣的Ajaxy控制器來從響應中獲取我們想要的內容:

        'resultset': {
            selector: '.ajaxy-resultset',
            request: function(){
                // Hide Content
                $result.stop(true,true).fadeOut(400);
                // Return true
                return true;
            },
            response: function(){
                // Prepare
                var Ajaxy = $.Ajaxy; var data = this.State.Response.data; var state = this.state;
                // Show Content
                var Action = this;
                var newResultContent = $(data.content).find('#result').html();
                $result.html(newResultContent).fadeIn(400,function(){
                    Action.documentReady($result);
                });
                // Return true
                return true;
            }
        }

這就是它的全部內容,上面的大部分內容只是來自演示頁面的復制和粘貼代碼。 當然,這並不理想,因為我們在Ajax響應中返回整個頁面,但無論如何這都必須發生。 您可以隨時更新腳本,並在服務器端進行檢查以查找XHR標頭,如果已設置(那么我們是ajax請求),所以只渲染結果部分而不是所有內容。

你已經命名了兩個大的。 現在您需要做的就是確保所有功能在沒有javascript的情況下工作(使用請求的數據集重新加載頁面),並使用AJAX來改進它(加載請求的數據集而不重新加載頁面)。

這在很大程度上取決於背景。 在某些情況下,今天的人們可能希望在沒有頁面刷新的情況下立即交付結果。 它還可以改善整體用戶體驗 - 這在很大程度上取決於上下文。

然而,它也有它的缺陷。 在ajax內容發布后,用戶是否需要返回上一頁? 因為這可能不像在瀏覽器中按“后退”按鈕那么簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM