1

私は知りたいのですが、これは外部のjavascriptファイルにURLを書くための最良の方法です。
例:
次のようなajax呼び出しを実行するJavaScriptがあります。

$(function(){
    $('#myButton')。click(function(){
        $('#content')。html($。get('/ my-controller / myaction'));
    });
});

この場合、JavaScriptファイルにコントローラーのURLをハードコーディングする必要があります。
私はgrailsを使用していますが、URLを作成するための優れた方法があり、それを使用したいと思います(コントローラーがURLを変更した場合、JavaScriptファイル全体を検索して変更する必要はありません)
。それを行うための最良のアプローチは?
必要なすべてのURLを含むjavascriptファイルであるビューを提供するコントローラーを作成することは良い解決策になる可能性がありますか?
もっと良い方法はありますか?

4

1 に答える 1

3

代わりに、HTML内にURLをコーディングするのはどうですか?

クリックトリガーがリンクの場合は、href属性を使用するだけです。

<a href="/my-controller/myaction" id="myButton">Click</a>

$(function(){
    $('#myButton').click(function(){
        var url = $(this).attr('url');
        $('#content').html($.get(url));
    });
});

また、クリックトリガーがボタンなどの場合は、data-X属性を使用します。

<button id="myButton" data-url="/my-controller/myaction">Click</button>

$(function(){
    $('#myButton').click(function(){
        var url = $(this).data('url');
        $('#content').html($.get(url));
    });
});

これは、JSとデータを適切に分離し、JSが無効になっている場合に(少なくともリンクに対して)役立つ可能性があります。

于 2012-08-17T14:00:05.237 に答える