form_tag with remote:true不会发出ajax请求
我的应用程序中有许多不同的表单,所有表单都使用remote: true
。 但是一个不能正常工作,因为它不使用ajax调用。
清理后,它看起来像:
标签看起来像:
我的应用程序中有许多不同的表单,所有表单都使用remote: true
。 但是一个不能正常工作,因为它不使用ajax调用。
清理后,它看起来像:
标签看起来像:
并且路线条目:
post "mycontroller/upload_file_ajax", as: "upload_file_ajax"
但是在Chrome开发工具中检查通话时,标题显示:
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
而不像其他forms看起来像:
Accept:*/*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript
我将js文件添加到我的布局中
"all" %>
即使我从application.js文件中删除了所有JS代码(除了//= require jquery
…),表单也无法正常工作。
我错过了什么?
您无法使用AJAX进行文件上传。 也就是说,通常。
有一个很棒的gem, Remotipart ,它将这个function添加到您的远程表单中。
gem 'remotipart', '~> 1.0'
在application.js中
//= require jquery.remotipart
您遇到的问题是由于AJAX请求无法提交文件。
您可以尝试使用Jquery Form插件通过AJAX请求使用插件提供的ajaxSubmit方法上传文件