0
        $.ajax({ 
        type: "GET",
        dataType: 'script', 
        url: '/admin/my_page/'+mypage_id+'/pages/show_page',
        style : "inherit",
        dataType: 'script',                                                         
        data: "submitcheckdata="+mypage_id,
        complete: function() { 

        }            
  });

2 つの問題があります。

  • ページ コントローラから変数を取得して page.js ファイルに渡すにはどうすればよいですか? 私がIDを持っていれば、
  • 次に、ajaxを使用して動的URLを生成するにはどうすればよいですか?
4

2 に答える 2

1

ビューでjs変数として定義できます

<script>
  var mypage_id = <%= @page.id %>;
</script>
于 2012-08-17T07:02:37.990 に答える
0

HTML 内に JS を含める必要があります (私の例では HAML を使用します)。

    $.ajax({ 
    type: "GET",
    dataType: 'script', 
    url: "/admin/my_page/#{mypage_id}/pages/show_page",
    // ^ Note the use of double quotes here.
    style : "inherit",
    dataType: 'script',                                                         
    data: "submitcheckdata=#{mypage_id}",
    complete: function() { 

    }            });

HTML と Javascript を一緒にすると、ちょっと見苦しいと感じることがあります。デザートを夕食に混ぜるようなものです。そのため、特に Rails に依存する JS が多数ある場合は、別のパーシャルとして含めます。

私が以前に採用した別の手法は、効果的になる2番目のAJAXリクエストを生成するために必要な動的コンテンツを取得する最初のAJAXリクエストを送信することでした。

于 2012-08-17T08:35:50.830 に答える