0

nodejs を使用して、ajax リクエストを使用して API からデータを抽出する Web サイトを開発しています。テンプレート、.hbs ファイル (index.hbs、area.hbs など) を使用します。私の問題は、ナビゲーション バー (テキスト リンク付き) を作成したいということですが、テンプレートを使用するため、それほど簡単ではありません。私はajaxを使用する必要があります。必要なルートはすべて作成しましたが、リンクの ajax リクエストについて助けが必要です。インターネットで答えを検索し、さまざまな解決策を試しましたが、問題を解決できるものは何もないようです。

私のnavbarコード:

<div id="navbar">
     <ul>
          <li>Companies</li>
          <li>Area</li>
     </ul>
</div>

Server.js ルート コード:

app.get('/area', routes.goToArea);

Routes.js コード:

goToArea: function (req, res) {
            res.render('area');
        }

それらの線に沿った何かがうまくいくと思います:

var url = "/area";
        function area() {
            $.ajax({
                url: url,
                type: 'GET',

どんな助けでも大歓迎です!

4

2 に答える 2

0

概念的に言えば、グローバル レイアウト内でレンダリングされる部分的なレイアウト (または html のセクション) を作成します。この「パーシャル」はエリアを表すはずです。

エリア識別子を表す html (id または data-attribute) にも変数があります。次に、次のようなリクエストを行うことができます

http://myserver.com/area/tab1また

http://myserver.com/?area=tab1

(コード/ルーティングをどのように構成したいかによって異なります。

次に、そのパーシャルを ajax を介して要求し、「成功」すると Dom に挿入します。

ここのドキュメントでは、ajax 呼び出しを組み立てる方法を説明しています。

http://api.jquery.com/jQuery.ajax/

これも役立つかもしれない良い読み物です:

Express.js hbs モジュール - .hbs ファイルからパーシャルを登録する

于 2013-08-14T07:45:03.770 に答える
0

clickこれは、イベントをバインドしてajaxリクエストを行う方法です

$(document).ready(function () {
    $('.navbar a').click(function () {
        $.ajax({
            'type': 'get',
            'url': '/area',
            'success': function (data) {
                // use the data
            }
        })
    })
})
于 2013-08-14T07:44:05.247 に答える