【发布时间】:2015-01-04 22:16:15
【问题描述】:
我有一个自定义路由,在我的 Ruby on Rails 4 应用程序中,它通过 onChange() 函数处理通过 jQuery 发送的 post 请求。
目标网址是
http://0.0.0.0:3000/application/get_programs_for_center
这是我处理 POST 请求的 Rails 控制器
post '/application/get_programs_for_center', to: 'school_applications#get_programs_for_center'
这里是调用此路由的 jQuery:
$("#school_application_fls_center").change(function(){
var center_id = document.getElementById("school_application_fls_center").value;
var formdata = {center: center_id};
$.ajax({
url: "/application/get_programs_for_center",
type: "POST",
datatype: 'json',
data: formdata,
success: function(response){
var options = $("#school_application_program");
removeOptions(document.getElementById("school_application_program"));
$.each(response.programs, function(i,item) {
options.append($("<option />").val(response.programs[i].id).text(response.programs[i].name));
});
}
});
});
它目前在 Chrome 中运行良好,但是在 Safari、Firefox 和 Opera 中我收到了这个 404 错误:
这是我的控制器代码:
def get_programs_for_center
respond_to do |format|
@school_application = SchoolApplication.find(session[:current_app_id])
@select_program = @school_application.program
center = params[:center]
programs = Program.where(fls_center_id: center)
msg = { :programs => programs, :message => "hurray", :program => @select_program}
format.json { render :json => msg }
end
结束
【问题讨论】:
-
您是否尝试过将 ajax 中的 url 延长为
url: "http://0.0.0.0:3000/application/get_programs_for_center"? -
显示处理这个请求的控制器代码。
-
@非常感谢你,我加了!
-
@cm92 添加绝对路径后,还是得到404。
标签: jquery ruby-on-rails post http-status-code-404