javascript - Ajax 请求问题 (Liferay)

标签 javascript java ajax jsp liferay

我试图在每次按键时将这个简单的输入传递给 ajax 处理程序,然后传递给 Controller ​​:

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

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

这是我的 ajax 调用。它似乎工作正常:它发送 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");
                   }
              }
        });

    });

这就是我在 Controller 中读取它的方式。它当前检索一个空字符串:

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

我尝试了以下所有方法:

  • 使用命名空间
  • 设置为 false(当前状态)。
  • 更改变量名称。
  • 使用 ParamUtil.getString()。
  • 等等...

没有任何作用。我想获取 Controller 中的输入值,这样我就可以过滤搜索,但它永远不会到达那里(所以我得到所有查询信息而不进行任何过滤)。

知道这里出了什么问题吗?

最佳答案

您在获取值时使用了错误的参数名称: String datos = ParamUtil.get(req, "param2", StringPool.BLANK);

在您的 Controller 中尝试以下代码: String datos = ParamUtil.get(req, "parametro", StringPool.BLANK);

关于javascript - Ajax 请求问题 (Liferay),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37661504/

相关文章:

JavaScript - 'No Access Control Allow Origin' header'尽管存在

javascript - 如何用 Epoch Time 替换 JavaScript 中的 ObjectId

java - Hibernate Java 中 session 的空指针异常

javascript - 使用 AJAX POST 请求发送自定义 HTTP 正文

javascript - e.target 可以访问,但是 e.target.value 不在 React 组件中

javascript - jQuery/AJAX - 单击按钮时将内容加载到 div 中?

java - Log4j 文件附加程序每 X 分钟滚动一次

java - 如何比较两个不同字符串中的字符

javascript - AJAX 未按预期更新数据库查询

java - 如何使用 NanoHTTPD 显示日志文件