我有一个表单,用户可以在其中粘贴图片的网址。当用户提交表单时,我首先要制作ajax GET请求,然后在出于安全目的进行操作之前对客户端进行下载并进行检查。
我的问题是远程表单已经执行了ajax请求,我只能使用之前的那些访问它并完成绑定。但实际上我需要链接它们。完成图像检查后,继续执行表单中的POST ajax请求。
我该怎么做?
(Sry,我正在使用Slim)
= form_for @post, html: { class: "form-horizontal", role: "form" }, remote: true do |f|
.form-group
= f.label :author, "Name", class: "col-xs-1 control-label"
.col-xs-11
= f.text_field :author, class: "form-control", placeholder: "Name"
.form-group
= f.label :title, "Titel", class: "col-xs-1 control-label"
.col-xs-11
= f.text_field :title, class: "form-control", placeholder: "Titel"
.form-group
= f.label :text, "URL", class: "col-xs-1 control-label"
.col-xs-11
= f.url_field :text, class: "form-control", placeholder: "http://"
.form-group
.col-xs-offset-1.col-xs-11
= f.button :submit, class: "btn btn-default"
答案 0 :(得分:0)
您可以尝试侦听适用于rails的UJS适配器提供的ajax:before
或ajax:beforeSend
事件。
https://github.com/rails/jquery-ujs/wiki/ajax
根据文档,如果您使用return false
“停止”这些事件,则远程表单请求永远不会通过。因此,您可以通过ajax在提交表单之前在其中一个事件中下载图像并在那里进行检查。