0

我有一个表单,用户可以在其中粘贴图像的 URL。当用户提交表单时,我想首先发出一个 ajax GET 请求,该请求会下载图像客户端并在继续进行安全之前对其进行检查。

我的问题是远程表单已经执行了 ajax 请求,我只能使用之前的表单访问它并完成绑定。但实际上我需要链接它们。完成图像检查后,继续执行来自表单的 POST ajax 请求。

我怎样才能做到这一点?

(对不起,我正在使用 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"
4

1 回答 1

0

您可以尝试监听UJS 适配器为 rails 提供的事件ajax:beforeajax:beforeSend

https://github.com/rails/jquery-ujs/wiki/ajax

根据文档,如果您使用“停止”这些事件return false,则远程表单请求永远不会通过。因此,您可以在提交表单之前通过 ajax 在其中一个事件中下载图像并在那里进行检查。

于 2013-11-04T19:57:10.827 回答