我在rails中使用Ajax调用渲染了一些元素,但是我的另一个函数需要引用这些元素。我现在面临的问题是该函数无法获取这些元素,除非Ajax请求实际上已经完成。在ajax调用之后,是否有一些在Rails中运行javascript函数的方法?
例如:
fetch_cards.js.erb
var cards = $('.cards'); // only fetches previous cards, not the new ones
my_function( cards );
cards_controller.rb
def fetch_cards
respond_to do |format|
format.js
end
end
答案 0 :(得分:0)
我不确定你的意思,但是javascript让你能够监听ajax调用完成。由于您已经使用了jQuery,因此可以执行以下操作:
$.ajax('your/resources.json',
complete: function(jqXHR, status){
// this will be executed once the server has completed your request
my_function(cards);
}
);
您可能希望使用更具体的回调函数(success
,error
)扩展此功能,您可以在jQuery API docs上找到更多信息。