2012-04-15 3 views
1

私はajax経由でpythonスクリプトに送られるフォームを持っています。 Pythonスクリプトは、コンテンツタイプdoctypeとそのすべてを含むHTMLページ全体を出力しています。ajaxによるjQuery html(テキスト)構文解析

私は、現在のページのdivに、pythonスクリプトのdiv要素の応答テキストの一部を挿入する必要があります。

私はどのように応答テキストを解析し、doctypeやヘッダーのような不必要なジャンクを取り除きますか?

ありがとうございました。

$.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; 
        }); 
}); 

:あなたのAJAX機能で

+1

pythonスクリプトを変更して、必要なビットのみを生成することはできますか?それは、ブラウザで行うよりもはるかに効率的である可能性があります。 – jimw

+0

はい、私はあなたが言っていることを得る。しかし、残念なことに、Pythonファイルも直接表示する必要があるためです。 – user14412

+0

Pythonスクリプトに引数を付けることができますか? '/foo.py'を取得する代わりに '/foo.py?div=id-of-div'を取得して、foo.pyに少しの論理を持たせてくださいそれを処理するには? – jimw

答えて

0

あなたは、このように結果をフィルタリングする必要があなたの成功の機能では:

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

私はあなたのための作業フィドルを作成しましたhere

これはあなたの質問に対する解決策ですが、jimwはコンテンツを出力するためにスクリプトを変更することについての彼のコメントで正しい解決策になります。

+0

、ありがとう! – user14412

1

あなたはおそらく、返されたデータが有効なHTMLである場合は、ちょうどそうのように、フィルタとの出力を解析、データ変数が出力され、成功関数または類似した何かを持っていますFIDDLE

+0

素晴らしい、私たちは全く同じソリューションを同時に開発してきました;) – Marc

+0

ありがとう!私は最後にPythonを変更して行ったが、これは間違いなく将来のプロジェクトに役立つでしょう – user14412