jquery-select2 总是在控制器中发送空参数

Posted

技术标签:

【中文标题】jquery-select2 总是在控制器中发送空参数【英文标题】:jquery-select2 always sends null params in controller 【发布时间】:2018-04-19 09:58:22 【问题描述】:

我正在使用 jquery-select2 通过 ajax 加载数据。但是 jquery-select2 总是向控制器操作发送空参数

这是我用来搜索数据的 agent.js 代码

$('.chosen-select').select2(
    minimumInputLength: 2,
    placeholder: "Search by Agency code, agent code, name or email",
    ajax: 
      url: "/dashboard/agent_invitations/search_agents",
      dataType: 'json',
      type: 'GET',
      data: function (term) 
        
          q: term 
      ,
      processResults: function (data) 
        results: data.results
      
    
  ); 

agents_controller.rb

def search_agents
  respond_to do |format|
    format.json render json:  "data": current_salesperson.search_agents(params[:q])  //problem is here
  end
end

我点击此链接remote data load 加载远程数据 谁能帮我解决这个问题。谢谢你

【问题讨论】:

如果不出意外,以合理的方式格式化代码会更容易推理。 您的数据函数是一个不返回任何内容的函数,顺便说一句,您的 processResults 函数也是如此——可能不是您想要的。马特也想发布。 是的,您的 data 函数中缺少 return 语句 @DaveNewton 谢谢。它就像一个魅力! 【参考方案1】:

数据中缺少回报

$('.chosen-select').select2(  
   minimumInputLength:2,
   placeholder:"Search by Agency code, agent code, name or email",
   ajax:  
      url:"/dashboard/agent_invitations/search_agents",
      dataType:'json',
      type:'GET',
      data:function (term)        
        return    q:term  
      ,
      processResults:function (data)        
         results:data.results
      
   
);

【讨论】:

以上是关于jquery-select2 总是在控制器中发送空参数的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery-select2 的依赖下拉内容

将不在选择列表中的值输入到 jquery-select2 中

jquery-select2 - 将 select2 添加到现有的下拉代码中以使其可搜索

使用 Spree 和 jQuery-Select2 为分组列表项和平面列表项设置样式

清除多选 jquery-select2

以编程方式添加新的 jquery-select2-4 选项并重置搜索字段?