通過多個過濾器對數據集進行排序並立即顯示結果是相當不錯的,對嗎?
我的解決方案是POST
「過濾器」(讀取表單)參數到一個名爲dataset.php
的頁面,該頁面在編譯的HTML中返回適當的數據集,可以直接加載到我的頁面中。AJAX加載內容的優點和缺點
因此,除了這是一個SEO和人們停用JavaScript的總體禁忌,它似乎是一個相當不錯的解決方案,可以輕鬆構建未來。
但是,我還沒有經驗認爲它是一個好的或壞的整體解決方案。 AJAX提取的數據集應該是我們關心的問題?
通過多個過濾器對數據集進行排序並立即顯示結果是相當不錯的,對嗎?
我的解決方案是POST
「過濾器」(讀取表單)參數到一個名爲dataset.php
的頁面,該頁面在編譯的HTML中返回適當的數據集,可以直接加載到我的頁面中。AJAX加載內容的優點和缺點
因此,除了這是一個SEO和人們停用JavaScript的總體禁忌,它似乎是一個相當不錯的解決方案,可以輕鬆構建未來。
但是,我還沒有經驗認爲它是一個好的或壞的整體解決方案。 AJAX提取的數據集應該是我們關心的問題?
因此,除此之外,這是一個完全禁止搜索引擎優化和人們已停用Javascript,它似乎是一個很好的解決方案,很容易在未來建立。
並非完全如此,有在那裏解決方案,如jQuery Ajaxy這使AJAX內容與歷史跟蹤,而其餘的搜索引擎優化和javascript禁用友好。你可以在我自己的網站Balupton.com上看到這個動作,證明它仍然是SEO友好的here。
但是,我還沒有經驗認爲它是一個好的或壞的整體解決方案。 AJAX提取的數據集應該是我們關心的問題?
讓Ajax加載的內容對於用戶體驗來說非常有用,它非常快速且很好看。如果你沒有歷史跟蹤記錄,那麼這可能會讓你感到困惑,特別是如果你使用了一個Ajax加載的內容來處理頁面等內容,而不僅僅是邊欄內容 - 那麼你就會擺脫用戶體驗到的一致性。另一個警告是Google Analytics跟蹤Ajax頁面。這些缺點,你已經提到的以及some others mentioned elsewhere都是相當困難的問題。 (如前所述)爲幾乎所有的問題提供了一個很好的高級解決方案,但是如果你還沒有和Controller體系結構一起工作,但是大多數人能夠很快地得到它,這可能是一個很大的學習曲線。
例如,要啓用歷史跟蹤ajax內容以使用jQuery Ajaxy更改一組結果,實際上並不需要任何服務器端更改。你可以做這樣的事情在你的頁面的底部:$('#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內容交付後,用戶是否需要返回前一頁?因爲這可能不如在瀏覽器中按下「後退」按鈕那麼簡單。
這是一個非常棒的例子。非常感謝balupton! – Industrial 2010-08-27 10:47:42