0

シバンを使用して AJAX を実装しようとしています。つまり、AJAX サイトのコンテンツ領域にexample.com/#!/somepage.php単純にexample.com/somepage.phpロードされます。

これを行う明白な方法は、単にリクエストsomepage.phpしてから、 のコンテンツ全体をdocumentElement新しいドキュメントに置き換えることです。ただし、それは AJAX の目的に反しているようです。

代わりに、ロードを試みてから、ページsomepage.phpの一部を抽出して、それcontentを単にコンテンツ領域に配置することを考えています。

これを行うには、正規表現を使用して検索することもでき/<div id="content">.*</div>/ますが、それは非常に悪い考えです (最も単純な問題は、「</div>コンテンツを終了するのはどれか?」ということです) ajaxresponse.getElementById('content')。(または) オブジェクトに変換ajaxresponseしますか?documentdocumentFragment

それとも、これはそのような AJAX セットアップを実装するための間違ったアプローチですか? サーバー側X-Requested-With: XMLHttpRequestでコンテンツ領域のみをチェックして送り返す方がよいでしょうか?

4

2 に答える 2

0

返されたデータからコンテンツを取得するために正規表現を実際に使用する必要はないことに注意してください。たとえば、jQuery ではcontext、 $ セレクター ( l​​ive fiddle )の引数を使用するだけです。

$.get("/", {}, function(data){
    $("#text").append($("#login", data));
});​

また、シバン ナビゲーションは、多くの場合、一部の Javascript フレームワークに関連付けられていることに注意してください。

于 2012-06-05T06:32:49.993 に答える