javascript - 来自 form_for 的 Controller 中的 Ajax javascript 响应使用 javascript 呈现为纯文本

标签 javascript ruby-on-rails paperclip form-for

我试图在尝试编辑用户时获得 javascript 响应。我通过在提交表单时发出 ajax 调用来做到这一点。提交表单后呈现的页面是 javascript 响应的纯文本。因此,ajax 无法正常工作,javascript 呈现为文本。

超薄 html:

= form_for @user, html: { multipart: true }, authenticity_token: true, :format => :js, remote: true do |form|
      = form.label :avatar
      = form.file_field :avatar
      = form.submit "add an avatar!"

用户 Controller 中的更新方法:

 def update
     @user = User.find(params[:id])
     logger.debug request.format
     respond_to do |format|
          format.js { render layout: false, content_type: 'text/javascript' }
     end
  end

在纯文本中可见的 javascript 响应:

alert("hello");

最佳答案

不幸的是,没有简单通用的方法来通过 ajax 发送多部分表单。但是您仍然可以使用这个 gem https://github.com/JangoSteve/remotipart 解决问题。 .

关于javascript - 来自 form_for 的 Controller 中的 Ajax javascript 响应使用 javascript 呈现为纯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33448110/

相关文章:

javascript - 在 jQuery 中转义姓氏中的单引号

javascript - 我如何对每个索引使用不同类的 ng-repeat

ruby-on-rails - 如何检查一个散列是否包含在另一个散列中的 "completely"?

ruby-on-rails - Omniauth "with"STI 和设计

ruby-on-rails - 上传回调前的回形针

ruby-on-rails - mod_rails 和 Paperclip 问题 Paperclip::NotIdentifiedByImageMagickError

javascript - 如何下载图像和 Canvas ?

javascript - 使用 nodejs 渲染图像

ruby-on-rails - BSON::InvalidObjectId非法ObjectId格式

ruby-on-rails - 使用 Paperclip 将数千张图像上传到 S3