0

より多くのユーザーをロードしてフィルタリングするために、次のJSスクリプトがあります。

  <script>
    var USERS_PER_PAGE = <%= @users_per_page %>;
    var user_count = USERS_PER_PAGE;

    function checkScroll() {
      if (nearBottomOfPage()) {
        $('#loading_more_'+(user_count-USERS_PER_PAGE)).fadeTo(200, 1);
        $.ajax({
           type: "GET",
           url: "/u?start=" + user_count + "&t="<%= params[:t] %> + "&f="<%= params[:f] %>,
           dataType: "script"
         });
        user_count += USERS_PER_PAGE;
      } else {
        setTimeout(checkScroll, 250);
      }
    }
    ...

また、パラメータも可能emptyです。今のところ私はエラーを受け取ります:Uncaught SyntaxError: Unexpected identifier

ここに画像の説明を入力してください

では、このためのパラメータをどのようにマージする必要がありますurlか?

4

1 に答える 1

1

まず、このルートをコントローラーとアクションに接続するルートを追加します

# routes.rb
match "/u" => "foo#bar"

その後、あなたはこのようなことをすることができます

$.ajax({
  type: 'GET',
  url: '<%=j u_path(start: USERS_PER_PAGE, t: ceo, f: h) %>',
  // ...
});

注:<%=j ... %> ERbを使用してJavaScriptに出力する場合は、を使用していることを確認してください。これにより、JavaScriptの値が適切にエスケープされます。

于 2012-12-29T09:56:00.680 に答える