我正在执行ajax调用(使用JQuery),并且Rails控制器需要返回部分信息,以便在ajax调用之后可以更新页面。在我看来,有两种方法可以做到这一点。在控制器中,过滤ajax调用(request.xhr?)并返回:


一个.js.erb,它作为Ajax调用本身的一部分在客户端执行(dataType:脚本)。这个.js.erb文件操作DOM并注入部分的html,如下所示:

$('#content')。html(“ 'success')%>”));
部分((dataType:html)。在ajax调用上有一个成功的回调方法,然后执行注入,如下所示:

$ .post(url,send_data,
  函数(数据){
      $(“ #result”).empty()。append(data);
  }


这两种解决方案都可以完美地工作,我只是不知道哪种解决方案被认为是更好的编码实践,并且更容易维护。

最佳答案

第二种选择是理想的。服务器永远不要与客户端有关。

关于javascript - 您应该从Rails服务器返回javascript(.js.erb)还是在Ajax调用后更新页面时使用 native JS回调机制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7810931/

10-10 19:17