[英]Use Ajax or jQuery to Make Table Element in Rails App Load Separate From Page
我有一个包含用户站点列表的页面,在该页面上我正在进行API调用,以检查每个站点的状态。 问题在于,它会使页面永久加载,因此我希望页面加载完毕,然后在使用AJAX或jQuery完成检查后更新该表元素。 虽然我对AJAX或jQuery不太满意,但我一直在阅读的所有Rails / Ajax教程似乎都涉及存储在数据库中的表单和数据。 这是我的表格元素:
我观点的一部分
<td>
<% if HTTParty.get(site.domain + 'api')["status"] == "ok" %>
OK
<% else %>
Error
<% end %>
</td>
控制器动作加载视图
def sites_page
@sites = Site.where(user_id: current_user.id)
render 'sites_page'
end
如上所述,如何分别进行此装载? 我知道我还没有尝试过的代码,但是我真的不知道从哪里开始。
谢谢你的帮助。
只需在窗口加载时将AJAX调用附加到td,它将在页面呈现后稍后进行评估。 AJAX调用可以是这样的:
$(window).load(function() {
var target = $(".td-that-will-be-evauated-later")
url = target.data("url")
$.ajax({
url: url,
type: "GET",
dataType: "json",
success: function(result){
target.html(result.body)
},
error: function(xhr, status, error) {
$(target).html("error");
}
})
})
网址应指向控制器操作,该操作将为特定用户获取信息,例如:
class UsersController < ActionController::Base
def fetch_info
@user = User.find(params[:id])
@response = @user.fetch_info
render json: {success: true, body: response.body}
end
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.