7

我正在尝试对我的控制器进行 ajax 调用

class PatientRecordController < ApplicationController
  def export
     ....
  end
end

在我的 javascript 文件中,我有

$(document).ready(function(){
    freezeTopRow($('#dataTable'));
    $("#export").click(function(){
        $.ajax({url: "patient_record/export", type: "POST"});
    });
});

当我检查元素和调试以及单击页面上的导出标签时。我点击了该功能,但它永远不会到达控制器

我也有 2 个控制器和 2 个视图。在我的另一个控制器和视图中,我做同样的事情并且它有效

4

2 回答 2

8

你有没有检查过你routes.rb有类似的东西:

post 'patient_record/export'

也许 Rails 不知道路由,所以 ajax 不起作用(如果您可以从浏览器获取操作,则意味着您只有一GET组,您可以检查更改 ajax 调用中的请求类型)

于 2013-06-27T13:12:03.100 回答
2

您还需要文件中的export操作路线config/routes.rb,例如

resources :patient_records do
  member do
    post :export
  end
end

您可以通过运行来检查它是否已经存在rake routes | grep 'export'

于 2013-06-27T13:11:57.417 回答