2015-04-04 26 views
0

我想通過AJAX從index.php獲取新數據並將其插入到元素中。不幸的是,jQuery不會正確地過濾數據。我使用相同的選項,建議here無法過濾來自AJAX請求的數據

更正版本:

「未捕獲錯誤::語法錯誤,不能識別的表達式:所有所請求的HTML代碼

$.ajax({ 
    type: "GET", 
    url: "index.php", 
    data: "ajaxGetContent=1", 
    success: function(data){ 
     $(data).filter(".bubble").html(); 
     $("#bubbles").empty(); 
     $("#bubbles").append(data); 
    } 
}); 

執行此代碼時,該錯誤消息中的控制檯顯示向上

+1

你不應該從你得到的答案中改變你原來的問題,因爲那樣答案就會停止。您可以在原始問題下添加任何添加項。 – jeroen 2015-04-04 19:11:56

+0

@ jeroen感謝您的建議。我將代碼標記爲已更正。 – 2015-04-04 19:15:59

回答

1

當您將其添加到#bubbles元素中時,您未使用過濾的數據。請注意,data在您的成功功能的第一行中保持不變。

你可能想是這樣的:

success: function(data){ 
    var filtered_data = $(data).filter(".bubble").html(); 
    $("#bubbles").empty(); 
    $("#bubbles").append(filtered_data); 
} 

注意url的名稱建議您與Ajax請求重新加載整個網頁,然後使用只有一小部分。您應該在原始頁面中將這個小部分分開包含,並使用該腳本使用ajax加載,以便根本不必進行過濾。

這也會減少需要發送的數據量和現在在服務器上完成並立即丟棄的冗餘處理。

+0

解決方案1:謝謝,我糾正了這個問題,因爲這並沒有解決問題。 我會嘗試你的第二個解決方案。 – 2015-04-04 19:10:11

+0

@SimonMathewson你在控制檯中看到什麼迴應? – jeroen 2015-04-04 19:12:23

+0

與以前相同的錯誤。 – 2015-04-04 19:14:00