带有 Rails UJS 的 jQuery Mobile 在使用 data-method="delete" 的链接上尊重 data-ajax="false"

Posted

技术标签:

【中文标题】带有 Rails UJS 的 jQuery Mobile 在使用 data-method="delete" 的链接上尊重 data-ajax="false"【英文标题】:jQuery Mobile with Rails UJS to honor data-ajax="false" on links that are using data-method="delete" 【发布时间】:2017-01-10 13:49:54 【问题描述】:

目前我在我的网站上使用 jquery mobile。当我尝试注销时 data-ajax=false 不起作用。在所有其他链接中 data-ajax=false 工作和请求不要在 ajax 中发送。但问题仅发生在注销链接上。因为data-method = delete。

<a class="logout-link ui-link" data-ajax="false" data-method="delete" href="<%= logout_path %>"><%= t('layouts.pull_down_menu.signout') %><i class="fa fa-sign-out"></i></a>

我在注销时得到这个输出,因为 data-ajax=false 被 Rails 忽略了,我在链接中得到这个输出

http://localhost:3000/en/main_page#/en/logout

重定向不正确

我尝试了这篇文章和问题页面中的所有内容here、here 和here

但任何解决方案都不适合我,或者我不知道如何应用该解决方案。

提前谢谢。对不起我的英语不好。

【问题讨论】:

【参考方案1】:

你试过了吗?

<% link_to(logout_path, :confirm => "You sure?", :method => :delete, :class => "logout-link ui-link" "data-ajax" => "false" do %>
  <%= t('layouts.pull_down_menu.signout') %>
  <i class="fa fa-sign-out"></i>
<% end %>

【讨论】:

该链接用于注销用户而不是删除任何帖子,是的,我已经尝试过,但它不起作用

以上是关于带有 Rails UJS 的 jQuery Mobile 在使用 data-method="delete" 的链接上尊重 data-ajax="false"的主要内容,如果未能解决你的问题,请参考以下文章

ajaxSetup 不适用于 Rails / jquery-ujs

在 JS 模块中使用 Rails-UJS(带有 webpacker 的 Rails 6)

Rails 5.1 中是不是还需要`require jquery_ujs`?

如何绑定到表单的 ajax:使用 JQuery/Rails UJS 在 typescript 中取得成功

jQuery Mobile 在使用 UJS 远程链接接受标头时中断 Rails respond_to

Rails 4 - 通过使用 AJAX UJS 的集合中的链接更新表