-1

サーバーでプロキシを使用して外部リソースをダウンロードしています。

function retrieveOG(resource_url) {
    $.ajax({
        url: "/interne/asynch/fetchfeeds/FetchOG.aspx?resource=" + encodeURIComponent(resource_url),
        success: function (page) {
            var mypage = $page;
            console.log($page("meta[name='og:title']"));
        },
        error: function () {
            console.log("error");
        }
    });
}

基本的に、それは私のサーバーにURLを送信し、ページをダウンロードしてページ全体をクライアントに返します。これはすべて、ページのメタ タグをキャッチする必要があるためです。

しかし、それは言いReferenceError: $page is not definedます。どこが間違っていますか?

4

1 に答える 1

2

本当に明白なことですが、$page定義されていません。page代わりに定義しました。

次のようにすることをお勧めします。

success: function (page) {
    var $mypage = $(page);//convert your HTML string into a JQuery object
    console.log($mypage.filter("meta[name='og:title']").attr("content"));
}

pageこれは、HTML 文字列であると仮定しています。次に、その html 文字列を という JQuery オブジェクトに変換します$mypage。その後、この JQuery オブジェクトを照会できます。

親ラッパー要素がないため、このインスタンスではfilter代わりに使用する必要があります。find

これが実際の例です


代わりに使用する場合はfind、次のようにページを親タグでラップできます。

var $mypage = $("<html/>").append(page);
console.log($mypage.find("meta[name='og:title']").attr("content"));
于 2013-10-11T08:42:51.373 に答える