2012-04-15 102 views
1

所以我有一個表單通過ajax發送到python腳本。 python腳本正在輸出一個包含內容類型doctype的整個HTML頁面。通過ajax解析jQuery html(文本)

現在我需要從python腳本(div元素)中將響應文本的一部分插入當前頁面上的div中。

如何解析響應文本並去除所有不必要的文件,如文檔類型和頭文件?

謝謝。

+1

是否有可能改變python腳本,使它只產生你想要的位?這可能比在瀏覽器中更有效率。 – jimw 2012-04-15 01:53:43

+0

是的,我明白你在說什麼。但不幸的是,因爲python文件也需要直接查看。 – user14412 2012-04-15 01:57:21

+0

你可以讓python腳本接受一個參數嗎,所以不是GET'/foo.py'就是GET'/foo.py?div=id-of-div',然後在foo.py中有一些邏輯處理它? – jimw 2012-04-15 02:01:34

回答

0

在你的成功的功能,你必須篩選結果是這樣的:

success: function(r){ 
    var divContent = $(r).filter('#myDiv').html(); 
} 

我創建了一個工作搗鼓你here

這就是你的問題的解決方案,但jimw是正確的,他的評論關於改變腳本輸出內容,這將是正確的解決方案。

+0

明白了,謝謝! – user14412 2012-04-15 04:22:21

1

在你的Ajax功能,你可能有其中的數據量而輸出成功的功能或類似的東西,如果返回的數據是有效的HTML,只是解析帶濾波器的輸出,例如:

$.ajax({ 
    url: "http://www.mysite.fun/html.py" 
//using the new .done() function, works the same with .success 
}).done(function (data) { 
    var element = $(data).filter(function() { 
         if (this.id=='IdOfMyDiv') return this; 
        }); 
}); 

FIDDLE

+0

太好了,我們一直在努力研究完全相同的解決方案;) – Marc 2012-04-15 02:19:18

+0

非常感謝!雖然我到最後改變了python,但這肯定會對未來的項目有所幫助 – user14412 2012-04-15 04:23:19