gpt4 book ai didi

javascript - Rails 3 Ajax 表单不发送参数

转载 作者:行者123 更新时间:2023-11-29 20:07:10 25 4
gpt4 key购买 nike

我的索引页上有一个表单,我用它来对记录进行排序,我想向它添加一些 Ajax 功能,但出于某种原因,它没有在我将 Ajax 添加到混合中后立即发送我的表单参数。

这是我的表格:

<div id="sort-options">
<%= form_tag uploads_path, :method => "get", :remote => true do %>
<%= select_tag "sort", options_for_select([["Creation Date", "created_at"], ["File Name", "name"], ["Rating", "rating_average"], ["Downloads", "downloads"]]) %>
<%= select_tag "direction", options_for_select([["Descending", "desc"], ["Ascending", "asc"]]) %>
<%= submit_tag "Sort" %>
<% end %>
</div>

还有我的 Ajax javascript:

jQuery(document).ready(function($) 
{
$(function () {
$('#sort-options input, .pagination a').live("click", function () {
$.get(this.href, null, null, 'script');
return false;
});
});

});

当我单击提交按钮并查看我的 Firebug 控制台以查看发生了什么时,很明显它成功调用了 Ajax 并且它为页面提供了没有问题。但是它完全忽略了我发送的参数,并且在重新查询数据库时没有考虑到这一点。如果我取出 ':remote => true' 并删除指向 Ajax 文件的链接,参数将成功发送回索引操作 - 只是没有 Ajax :(

我应该补充一点,Ajax 当前适用于我在同一页面上的分页。

最佳答案

问题是您将另一个点击处理程序绑定(bind)到您的提交按钮,它覆盖了 Rails 的内置 AJAX 功能 (:remote => true)。您的选择器 #sort-options input, .pagination a 不仅匹配分页链接,还匹配表单的提交按钮。按钮没有 href 属性,这是您作为 URL 传递给 $.get() 的内容。所以 $.get(this.href, ...) 尝试向空 URL 发出 AJAX GET 请求(它就像一个空字符串,因此是当前 URL,没有任何 GET参数)。

关于javascript - Rails 3 Ajax 表单不发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11547669/

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