2017-11-07 1 views
0

Ich verwende jquery-select2, um die Daten mit Ajax zu laden. Aber jquery-select2 alwasy null params senden Aktion an die Steuerungjquery-select2 sendet immer null params im Controller

Hier ist die agent.js Code, der ich die Daten suchen bin mit

$('.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 

Ich folgte diesem Link remote data load, um remote Daten zu laden Kann mir bitte jemand dabei helfen. Danke

+1

Wenn nichts anderes, Formatierung des Code in einer angemessenen Art und Weise machen wäre es viel leichter, über die Vernunft. –

+1

Ihre Datenfunktion ist eine Funktion, die nichts zurückgibt, wie auch Ihre processResults-Funktion - wahrscheinlich nicht das, was Sie wollen. Matt möchte das auch posten. –

+0

yeah, fehlende 'return' Anweisung in Ihrer' data' Funktion – usmanali

Antwort

0

Fehlende Rückkehr in Daten

$('.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 
     } 
    } 
});