Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Ajax或jQuery将Rails应用程序加载中的表元素与页面分离_Javascript_Jquery_Ruby On Rails_Ajax_Coffeescript - Fatal编程技术网

Javascript 使用Ajax或jQuery将Rails应用程序加载中的表元素与页面分离

Javascript 使用Ajax或jQuery将Rails应用程序加载中的表元素与页面分离,javascript,jquery,ruby-on-rails,ajax,coffeescript,Javascript,Jquery,Ruby On Rails,Ajax,Coffeescript,我有一个页面,上面有一个用户站点列表,我在上面调用API来检查每个站点的状态。问题是,它会使页面永远无法加载,因此我希望加载页面,然后在使用AJAX或jQuery完成检查后更新表元素。不过,我对AJAX或jQuery不是很在行,我一直在阅读的所有Rails/AJAX教程似乎都更多地处理存储在数据库中的表单和数据。以下是我的表元素: 我的部分观点 我怎样才能像上面提到的那样单独加载?我知道我还没有任何尝试过的代码,但我真的不知道从哪里开始 谢谢您的帮助。只需在窗口加载时将AJAX调用附加到td,页

我有一个页面,上面有一个用户站点列表,我在上面调用API来检查每个站点的状态。问题是,它会使页面永远无法加载,因此我希望加载页面,然后在使用AJAX或jQuery完成检查后更新表元素。不过,我对AJAX或jQuery不是很在行,我一直在阅读的所有Rails/AJAX教程似乎都更多地处理存储在数据库中的表单和数据。以下是我的表元素:

我的部分观点

我怎样才能像上面提到的那样单独加载?我知道我还没有任何尝试过的代码,但我真的不知道从哪里开始


谢谢您的帮助。

只需在窗口加载时将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");
      }
    })    
  })
Url应指向将获取特定用户信息的控制器操作,例如:

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

看起来很酷。不过我还是需要一点澄清。我在上面添加了一些代码。你能更新你的答案来处理上面的问题吗?或者告诉我你还需要看到我的代码的哪些方面,这样我就可以复制/粘贴你的代码,它就可以工作了?谢谢。老实说,我认为没有必要给你完整的复制粘贴代码。你需要了解这是如何运作的,你需要两个行动。首先是加载视图。第二个是在视图呈现后发送的AJAX请求。对不起,JS不是我的事。那么AJAX中的url就是API调用url吗?在url中,我将如何检查JSON中的状态。另外,我有点不确定用户控制器代码的作用。
  $(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