我试图在尝试编辑用户时获得 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/