任意に入力されたURL /ページのページの詳細(ページタイトル、ページ上のイメージなど)を取得しようとしています。リモートページの完全なHTMLを返すために、私はajax GET経由で使用するバックエンドプロキシスクリプトを持っています。 Ajaxレスポンスを返すと、いくつかのjQueryセレクタを実行してページの詳細を抽出しようとしています。ここでは一般的な考え方です:完全なhtmlページであるajaxレスポンス文字列のjQueryセレクタ
$.ajax({
type: "GET",
url: base_url + "/Services/Proxy.aspx?url=" + url,
success: function (data) {
//data is now the full html string contained at the url
//generally works for images
var potential_images = $("img", data);
//doesn't seem to work even if there is a title in the HTML string
var name = $(data).filter("title").first().text();
var description = $(data).filter("meta[name='description']").attr("content");
}
});
は時々$("selector", data)
を使用すると、他の回$(data).filter("selector")
が動作しているようですしながら、動作しているようです。時にはどちらも動作しません。私がちょうど$(data)
の内容を検査するとき、それはいくつかのノードがそれを通り抜けるようだが、いくつかはちょうど消えます。誰もが完全なHTML文字列でセレクタを実行する一貫した方法を知っていますか?
[jQueryを使って解析するHTML文字列]の可能複製(http://stackoverflow.com/questions/704679/parse-:あなたの最善の策は、
$(data)
はなくdata
で動作するようである、と述べた–