Javascript Rails通过远程提交表单:在Safari上为true(仅限Safari)失败
我的表格在Chrome和Firefox中通过Javascript Rails通过远程提交表单:在Safari上为true(仅限Safari)失败,javascript,ruby-on-rails,ajax,safari,Javascript,Ruby On Rails,Ajax,Safari,我的表格在Chrome和Firefox中通过remote:true完美提交。但是,在Safari(台式机和移动设备)上,根本不提交表单。网络在处理状态下“冻结”—— 它非常类似于,但是它与文件输入无关 我的代码如下: 表格: 我的控制器/请求\u controller.rb: def create allow_send = true @request = Request.new(request_params) if allow_send respond_to
remote:true
完美提交。但是,在Safari(台式机和移动设备)上,根本不提交表单。网络在处理状态下“冻结”——
它非常类似于,但是它与文件输入无关
我的代码如下:
表格:
我的控制器/请求\u controller.rb
:
def create
allow_send = true
@request = Request.new(request_params)
if allow_send
respond_to do |format|
if @request.save
format.js
RequestMailer.notify_admin(@request).deliver_now
else
format.js { render partial: 'fail' }
end
end
else
@request.errors.add(:bot, "К сожалению, у нас подозрение, что вы бот. Попробуйте заполнить форму ещё раз.")
respond_to do |format|
format.js { render partial: 'fail' }
format.html
end
end
end
$('#form-popup').toggle();
$('#success-popup').toggle();
我的create.js.rb
:
def create
allow_send = true
@request = Request.new(request_params)
if allow_send
respond_to do |format|
if @request.save
format.js
RequestMailer.notify_admin(@request).deliver_now
else
format.js { render partial: 'fail' }
end
end
else
@request.errors.add(:bot, "К сожалению, у нас подозрение, что вы бот. Попробуйте заполнить форму ещё раз.")
respond_to do |format|
format.js { render partial: 'fail' }
format.html
end
end
end
$('#form-popup').toggle();
$('#success-popup').toggle();
如果我转向更经典的方法,即通过html响应并重定向到特定页面,那么表单在Safari中工作。然而,我需要的形式,以工作完全一样,它现在在铬
我的B计划方法是重写所有代码,负责提交表单并检查纯JS中的错误(即$.ajax({type:'POST',
等),但是我真的希望使用rails提供的工具
Safari有解决办法吗
更新:
我能够检索到一条错误消息。它指出:
加载资源失败:网络连接丢失
(屏幕截图-您可以发布您的web inspector网络选项卡日志以引用此请求吗?我的标题是-@查看您是否有可能提出建议?这个问题确实困扰着我:(你有能力看到我直接发给你的信息吗?@seethrough我确实看到了,已经回答了你