Jquery Remotipart文件上传,给出NaN作为响应代码
我正在使用remotipart在rails应用程序中使用ajax上传一个文件。我在javascript中使用jquery ujs Ajax“全局”事件Jquery Remotipart文件上传,给出NaN作为响应代码,jquery,ruby-on-rails,ajax,ruby-on-rails-4,remotipart,Jquery,Ruby On Rails,Ajax,Ruby On Rails 4,Remotipart,我正在使用remotipart在rails应用程序中使用ajax上传一个文件。我在javascript中使用jquery ujs Ajax“全局”事件Ajax:success和Ajax:error,在成功或失败时触发代码。问题是错误回调总是启动,而不会成功 我可以在developer tools network选项卡中看到请求返回200 OK状态 这是触发远程上传的我的表单 = form_tag({ action: 'import' }, html: { multipart: true },
Ajax:success
和Ajax:error
,在成功或失败时触发代码。问题是错误回调总是启动,而不会成功
我可以在developer tools network选项卡中看到请求返回200 OK状态
这是触发远程上传的我的表单
= form_tag({ action: 'import' }, html: { multipart: true }, class: 'csv_import_form', remote: true, data: { type: :json }) do
我的控制器将请求处理为json并呈现json响应:
def import
render json: { some: 'sample json' }
end
这就是在开发人员工具中看到的响应体:
<textarea data-type="application/json" data-status="200" data-statusText="OK">{"some":"sample json"}</textarea>
这是我在控制台中看到的输出:
status code: NaN
json: {"some":"sample json"}
status text: OK
status: OK
error: OK
实际的Textarea响应似乎没有被正确解析。即使它的data status=“200”,它仍被解析为NaN,因此调用错误回调
有人见过这个吗
使用:
rails 4.0.13
remotipart 1.2.1
jquery 1.7.2
感谢事实证明,即使我将
remotipart gem
升级到了最新版本(1.2.1
),包含的javascript文件也已经过时了
要修复此问题,请删除:
app/assets/javascripts/jquery.remotipart.js
及
而是加上
//= require jquery.remotipart
到我的
application.js
文件,然后它按预期工作。是否尝试将所有内容包装到document(ready)函数中?是的,应该提到,我正在document(ready)函数中设置这些事件处理程序。谢谢你的建议!编辑了原始问题以显示这一点。
app/assets/javascripts/jquery.iframe-transport.js
//= require jquery.remotipart