ホームページ > ウェブフロントエンド > jsチュートリアル > jquery ajax応答文字列から返された要素を選択する秘密

jquery ajax応答文字列から返された要素を選択する秘密

William Shakespeare
リリース: 2025-02-24 10:55:10
オリジナル
297 人が閲覧しました

この記事では、jQueryの選択エンジンを活用して、Ajaxコールを介して静的ページから特定のHTMLフラグメントを抽出することにより、Webアプリケーション内のコンテンツを効率的に再利用する方法を示しています。 この手法は、サーバー側のデータ準備が実行不可能なレガシーシステムまたは静的コンテンツを扱う場合に特に役立ちます。

重要な概念:

JQueryの選択エンジンは、DOM要素とメモリ内のマークアップ文字列の両方を使用して、柔軟性を提供します。 AJAXを使用して静的HTMLページを取得すると、ページ全体のマークアップ(DoctypeおよびRoot HTML要素を含む)が返されます。 これをjQueryで選択できるようにするには、単一のルート要素(

など)にラップする必要があります。 jQuery <div>メソッドは、目的のHTMLフラグメントを正確に抽出できるようにします。 <code>find()シナリオ:

さまざまなカテゴリにわたって映画をリストしている「映画」ページのアプリケーションを想像してください(図1)。 ただし、ホームページはこれらの映画のサブセットを表示するだけで、たとえばアクションフィルムのみを表示する必要があります(図2)。

Secrets to Selecting Elements Returned from jQuery Ajax Response Strings

Secrets to Selecting Elements Returned from jQuery Ajax Response Strings 実装:

「映画」ページ(リスト1)は、要素内の映画カテゴリを論理的にグループ化し、それぞれが一意のIDを備えています。

リスト1:ムービーページ(ムービー.html)<section></section>

ホームページ(リスト2)はjQueryを使用して、ajax経由でを取得します。 応答は

に包まれており、
<h1>Movies</h1>

<section id="action-container">
  <h2>Action</h2>
  <ul>
    <li>Die Hard</li>
    <li>The Matrix</li>
    <li>Raiders of the Lost Ark</li>
  </ul>
</section>

<section id="drama-container">
  <h2>Drama</h2>
  <ul>
    <li>A Few Good Men</li>
    <li>The Shawshank Redemption</li>
    <li>Legends of the Fall</li>
  </ul>
</section>
ログイン後にコピー
メソッドは「アクション」ムービーセクションを抽出します。

movies.htmlリスト2:ホームページ(index.html)<div>find()

シンプルなスタイルシート(リスト3)は、基本的なスタイリングを提供します リスト3:スタイルシート(styles.css)

$(function() {
  $.get('movies.html', function(response) {
    var source = $('<div>' + response + '</div>');
    $('#movies').html(source.find('#action-container').html());
  });
});
ログイン後にコピー

結論:

このアプローチは、ニッチですが、サーバー側の変更なしで既存のページからコンテンツを選択的にレンダリングする場合に価値があることが証明されます。 重要なのは、Ajax応答を単一のルート要素でラッピングし、ターゲットを絞ったコンテンツ抽出にjQueryの
body, html {
  padding: 4px;
  margin: 0px;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1em;
}
ログイン後にコピー
を使用することです。

よくある質問:

find()(元のFAQセクションは保持されますが、明確さと簡潔さのために言い換えられます。)

jQuery ajax response strings:

これらは、ajaxリクエストの後にサーバーによって返されるデータ(多くの場合HTML)です。 jquery's

は、応答のリクエストと処理を処理します。

  • ajax応答から要素の選択:$(responseString)を使用して応答からjQueryオブジェクトを作成し、.find()などのメソッドを使用してそのオブジェクト内の要素を選択します。

  • 完全なHTMLページ応答:POSTリクエストに対する完全なHTMLページ応答は、通常サーバー側のエラーを示します。デバッグのステータスコード(成功のために200である必要があります)と応答テキストを確認してください。

  • jQueryを使用してHTML部分を取得する:

    メソッドは、HTMLドキュメントの特定のセクションをロードするのに効率的です。 URL内のスペースの後にセレクターを使用します(例:)。 .load() $(‘#result’).load(‘ajax/test.html #container’)

  • jQueryオブジェクトを文字列に変換します:
  • メソッドは、HTML要素を表すjQueryオブジェクトをHTMLコンテンツを含む文字列に変換します。

  • 以上がjquery ajax応答文字列から返された要素を選択する秘密の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    著者別の最新記事
    人気のおすすめ
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート