gpt4 book ai didi

javascript - Ruby on Rails :Can not call ajax callback from form_tag

转载 作者:行者123 更新时间:2023-11-28 05:34:40 25 4
gpt4 key购买 nike

在我看来(/app/view/media/index.html.erb),我有一个ajax函数和一个form_tags:我的AJAX功能:

<script type="text/javascript" charset="utf-8">
$(document).ready(
function () {
$("#my_ajax").bind("ajax:success",
function (evt, data, status, xhr) {
console.log(data);
}
).bind("ajax:error", function (evt, data, status, xhr) {
console.log("doh!")
});
});
</script>
。还有我的 form_tags:
<%= form_tag '/delete_media', method: :delete do %>
<%= submit_tag 'Delete', class: 'btn btn-danger', disabled:@media_contents.empty? , :remote => true, :id => "my_ajax" %>

我们的目标:当我提交后收到服务器响应时,my_ajax 函数将运行。
怎么做 ???我无法触发“my_ajax”功能?我总是从服务器收到 JSON 响应

编辑:

我的 Controller :

def delete_media
@medias=Media.where(id: params[:media_contents]).destroy_all
render json: @medias
end

最佳答案

你不应该像那样编写js处理ajax。
在 Rails 中实现 ajax 的正确方法是:

在/app/view/media/index.html.erb中:

form_tag ..., remote: true

在媒体 Controller 中:

def destroy
# do your job
respond_to do |format|
format.js {}
end
end

在/app/view/media/destroy.js.erb中:

// your js handle code

更多信息:http://guides.rubyonrails.org/working_with_javascript_in_rails.html

关于javascript - Ruby on Rails :Can not call ajax callback from form_tag,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39447876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com