Я пытаюсь передать этот простой вход на каждом нажатии клавиши, чтобы обработчик Ajax, а затем к контроллеру:Вопрос по запросу Ajax (Liferay)
<portlet:resourceURL var="resourceURL">
</portlet:resourceURL>
<form id="busq" method="POST">
<input id="busqueda" name="param1" type="text" onkeypress="buscar()"/>
</form>
Это мой Аякс вызов. Это, кажется, работает нормально: он посылает параметр в запросе POST, и извлекает некоторые данные с сервера:
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");
}
}
});
});
Это, как я прочитал его в контроллере. В настоящее время она получает пустую строку:
String datos = ParamUtil.get(req, "param2", StringPool.BLANK);
Я пробовал все следующее:
- Использования пространств имен
- Установки ложное (текущее состояние).
- Изменение имен переменных.
- Использование ParamUtil.getString().
- и т.д ...
Ничего не работало. Я хочу получить входное значение в моем контроллере, поэтому я могу отфильтровать поиск, но он никогда не попадает туда (поэтому я получаю всю информацию запроса без какой-либо фильтрации).
У вас есть мысли, что вы здесь?
Похоже, что имя параметра, которое вы отправляете, является параметром. Вы можете проверить запрос в своем контроллере и посмотреть, какие параметры есть, что может помочь. –
Было бы хорошо, если бы вы предоставили код для всех параметров, которые вы пробовали? –