0

javascript/Jquery.ajax リクエストを使用して、Ruby on Rails の部分テンプレートでページを更新しようとしています。パーシャルは _promotions.html.erb と呼ばれます。私は JavaScript と JQuery の初心者で、構文をよく理解していません。更新するページから:

<div id="promotions"></div>
<script type="text/javascript"> 
  jQuery.ajax({
    url: "/promotions", // it routes to the following def
    type: "GET",
    dataType: "html"
    success: $(function(data){$('#promotions').write(data)})
  });
</script>

応答を処理する Rails コントローラーから:

def promotions
  @items = Item.search("", 8) #the partial needs this variable during preprocessing
  respond_to do |format|
    format.html { render :partial => "promotions", :layout => false, }
  end
end

_promotions.html.erb をページにレンダリングしたい。最終的には、ページ全体を更新せずに、その div の内容を定期的に再レン​​ダリングできるようにしたいと考えています (したがって、Rails の前処理ではなく jquery 呼び出しを使用します)。どこで間違ったのですか?

4

1 に答える 1

0
jQuery.ajax({
  url: "/promotions",
  type: "GET",
  dataType: "html", // You missed a comma.
  success: function(data){$('#promotions').html(data)}
});

jQuery.write()メソッドはありません。また、あなたがしたようにラップし
ないでください。function(data){$('#promotions').html(data)}$(...)

$('#promotions')id Promotions の DOM 要素を返しますがドキュメントの準備ができたときに実行される関数をバインドするため$(function() {})にのみ使用されます。

于 2013-04-24T07:58:38.110 に答える