0

Rails アプリと組み合わせて ddslick jquery ドロップダウン プラグインを使用しています。

view1では、私は持っています

$('#challenges_dropdown').ddslick({
  <snipped>
  onSelected: function (data) {
    $.ajax({
      url: "/load_data",
      type: "GET",
      data: {"id": data.selectedData.value}
    });
  }
});

つまり、コントローラに load_data を呼び出します。コントローラーはこれを正しく受け取り、最後に別のビューをレンダリングする呼び出しを行います

render "data.js"

これは、元のビューの一部の要素を更新するスクリプトを実行する .js ビューです。何らかの理由で、このスクリプト スニペットは実行されていません。

私はとても混乱しています。data-remote="true" で通常のリンクを使用すると、プロセス全体が完全に機能します。ただし、AJAX 呼び出しを行うと失敗します。

4

1 に答える 1

1

基本的に、AJAX 呼び出しからの応答がスクリプトと見なされて実行されるように、AJAX 呼び出しの dataType を指定する必要がありました。

$('#challenges_dropdown').ddslick({
  <snipped>
  onSelected: function (data) {
    $.ajax({
      url: "/load_data",
      type: "GET",
      dataType: "script",
      data: {"id": data.selectedData.value}
    });
  }
});
于 2012-12-19T23:16:51.040 に答える