2016-06-06 7 views
0

Ich versuche bei jedem Tastendruck diese einfache Eingabe passieren, um ein Ajax-Handler, und dann mit einem Controller:Ausgabe auf Ajax-Request (Liferay)

<portlet:resourceURL var="resourceURL"> 
</portlet:resourceURL> 

    <form id="busq" method="POST"> 
    <input id="busqueda" name="param1" type="text" onkeypress="buscar()"/> 
    </form> 

Das ist mein Ajax-Aufruf. Es scheint ok zu arbeiten: es die Parameter in der POST-Anfrage sendet, und ruft einige Daten vom Server:

var busq = document.getElementById("busqueda").value; 
    console.log("Searching for: "+busq); 
    AUI().use('aui-io-request', function(A){ 
     A.io.request('${resourceURL}', { 
       method: 'post', 
       data: { 
        parametro: busq 
       }, 
       on: { 
        success: function() { 
        console.log("RESULT: "+this.get('responseData')); 
        }, 
        error: function(){ 
         alert("Error"); 
        } 
       } 
     }); 

    }); 

Dies ist, wie ich es in der Steuerung gelesen. Er ruft zur Zeit eine leere Zeichenfolge:

String datos = ParamUtil.get(req, "param2", StringPool.BLANK); 

Ich habe versucht, alle die folgenden:

  • Namespaces verwenden
  • Einstellung auf false (aktueller Stand).
  • Variablennamen ändern.
  • Verwenden von ParamUtil.getString().
  • etc ...

Nichts funktionierte. Ich möchte den Eingabewert in meinem Controller bekommen, damit ich eine Suche filtern kann, aber es kommt nie dorthin (so bekomme ich alle Abfrage-Informationen ohne Filterung).

Irgendeine Idee, was hier falsch ist?

+0

Sieht aus wie der Parametername, den Sie senden, ist parametro. Sie können die Anfrage in Ihrem Controller überprüfen und sehen, was die Parameter sind, die helfen könnten –

+0

Es wäre gut, wenn Sie Code für alle Optionen, die Sie versucht haben, zur Verfügung stellen? –

Antwort

1

Sie sind usig falscher Parametername während Wert erhalten: String datos = ParamUtil.get (req, "param2", StringPool.BLANK);

Probieren Sie diesen Code in Ihrem Controller: String datos = ParamUtil.get (req, "parametro", StringPool.BLANK);