Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自控制器的Rails Ajax调用,不带远程:true_Javascript_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Javascript 来自控制器的Rails Ajax调用,不带远程:true

Javascript 来自控制器的Rails Ajax调用,不带远程:true,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,我有一个“Establecimientos”(机构)表单,当用户点击提交按钮时,会出现一个验证,可能会显示一个模式对话框或重定向到“Establecimientos”索引页。我一直在尝试使用和不使用remote:true,表单中的html或js调用都出现错误。这是我的控制器(表单没有remote:true): 当else块发生时:formats=>[:js]不起作用,my create.js.erb的内容将显示在新页面上,而不会以纯文本形式呈现(控制台显示它以html形式呈现)。谢谢你的帮助 格

我有一个“Establecimientos”(机构)表单,当用户点击提交按钮时,会出现一个验证,可能会显示一个模式对话框或重定向到“Establecimientos”索引页。我一直在尝试使用和不使用remote:true,表单中的html或js调用都出现错误。这是我的控制器(表单没有remote:true):

当else块发生时:formats=>[:js]不起作用,my create.js.erb的内容将显示在新页面上,而不会以纯文本形式呈现(控制台显示它以html形式呈现)。谢谢你的帮助

格式部分

<%= bootstrap_form_for(@establecimiento, label_errors: true,  layout: :horizontal, label_col: "col-sm-3", control_col: "col-sm-7") do |f| %>
...content
<%= f.form_group do %>
        <%= f.submit %>
    <% end %>
      <%= render 'duplicated_modal' %>
<% end %>

…内容
create.js.erb

<%@duplicated_establishment = Establecimiento.find_by_nit(@establecimiento.nit) %>
$('.modal-body').html("Ya existe un establecimiento con el mismo NIT (<%= j @duplicated_establishment.nit.to_s %>) ubicado en <%= j @duplicated_establishment.direccion_establecimiento  %>, desea crear una nueva sede?");
$('.modal-footer').html("<%= j button_to 'Crear nueva sede', new_location_path(@establecimiento), class: "btn btn-primary", "method"=>"post", remote: true%>  <button type='button' class='btn btn-default' data-dismiss='modal'>Cancelar</button> ")
$('#duplicated_conf_modal').modal("show");
$('#duplicated_conf_modal').on('shown.bs.modal', function () {
    $('.first_input').focus()
})

$('.modal body').html(“是否存在联合国不动产许可证(ubicado en,desea crear una nueva sede?”);
$('.modal footer').html(“'post',remote:true%>Cancelar”)
$(“#复制的_conf_model”).model(“显示”);
$('#复制的_conf_modal')。on('show.bs.modal',function(){
$('.first_input').focus()
})

使用remote:true可以将所有调用都作为JS调用,但也可以使用HTML调用

如果您希望将请求读取为
format.JS
,最简单的方法是在最后点击所需路径加上
.JS
。如
establecimientos_path+.js“
中所示


我相信您也可以执行
establecimientos_path(format:“js”)

如果您希望将请求读取为
format.js
,最简单的方法是在最后点击所需路径加上
.js
。如
establecimientos_path+.js“
中所示



我相信您也可以执行
establecimientos_path(format:“js”)

如果您想用JavaScript响应,您应该使用remote:true。我不熟悉“:formats=>[:js]”语法,但对我来说这似乎也是违反直觉的。如果您想要JS,请在JS中发出请求。假设我们要使用remote:true,请您更新您的问题,以显示带有提交按钮的.erb模板和create.js.erb响应文件?正如我所说,响应也可以是html调用,这就是为什么我不使用remote:true。我以前使用过它,但问题是当我希望它是HTML时,会有一个JS调用。我会添加其他文件,谢谢回复如果你想用JavaScript响应,你应该使用remote:true。我不熟悉“:formats=>[:js]”语法,但对我来说这似乎也是违反直觉的。如果您想要JS,请在JS中发出请求。假设我们要使用remote:true,请您更新您的问题,以显示带有提交按钮的.erb模板和create.js.erb响应文件?正如我所说,响应也可以是html调用,这就是为什么我不使用remote:true。我以前使用过它,但问题是当我希望它是HTML时,会有一个JS调用。我会添加其他文件,谢谢回复如果你想用JavaScript响应,你应该使用remote:true。我不熟悉“:formats=>[:js]”语法,但对我来说这似乎也是违反直觉的。如果您想要JS,请在JS中发出请求。假设我们要使用remote:true,请您更新您的问题,以显示带有提交按钮的.erb模板和create.js.erb响应文件?正如我所说,响应也可以是html调用,这就是为什么我不使用remote:true。我以前使用过它,但问题是当我希望它是HTML时,会有一个JS调用。我将添加其他文件,感谢您的回复问题出在
else
部分,我如何才能在那里请求“创建”操作?您应该能够只使用
format.js
而不使用任何块,它将适当地呈现
create.js.erb
。没有响应就无法阻止?我确实
response\u to do | format | format.js end
但是它抛出了一个未知的信息错误您是否验证了您正在触发
format.js
而不是
format.json
?因为
respond_to{| format | format.js}
如果是请求的格式,应该可以工作。因为我没有remote:true选项,submit按钮会触发html调用,但我正在尝试从控制器发送js调用。如果没有远程参数,即使在你的建议下,我也会出现未知信息错误。。。我已经被这个问题困扰了两天,我不知道离开remote是否会更难:true并尝试从JS调用格式化html问题在
else
部分,我如何请求“创建”操作有吗?你应该可以只使用
format.js
而不使用块,它将适当地渲染
create.js.erb
。而不使用块的响应?我确实
response\u to do | format | format.js end
但是它抛出了一个未知的信息错误您是否验证了您正在触发
format.js
而不是
format.json
?因为
respond_to{| format | format.js}
如果是请求的格式,应该可以工作。因为我没有remote:true选项,submit按钮会触发html调用,但我正在尝试从控制器发送js调用。如果没有远程参数,即使在你的建议下,我也会出现未知信息错误。。。我已经被这个问题困扰了两天,我不知道离开remote是否会更难:true并尝试从JS调用格式化html问题在
else
部分,我如何请求“创建”操作有吗?你应该可以只使用
format.js
而不使用块,它将适当地渲染
create.js.erb
。而不使用块的响应?我确实
response\u to do | format | format.js end
但它抛出了一个未知信息错误您是否验证了您正在触发
format.js
而不是
format.json<%@duplicated_establishment = Establecimiento.find_by_nit(@establecimiento.nit) %>
$('.modal-body').html("Ya existe un establecimiento con el mismo NIT (<%= j @duplicated_establishment.nit.to_s %>) ubicado en <%= j @duplicated_establishment.direccion_establecimiento  %>, desea crear una nueva sede?");
$('.modal-footer').html("<%= j button_to 'Crear nueva sede', new_location_path(@establecimiento), class: "btn btn-primary", "method"=>"post", remote: true%>  <button type='button' class='btn btn-default' data-dismiss='modal'>Cancelar</button> ")
$('#duplicated_conf_modal').modal("show");
$('#duplicated_conf_modal').on('shown.bs.modal', function () {
    $('.first_input').focus()
})