如何使用ext.ajax.request将参数传递给servlet?

omhiaaxx  于 2021-08-20  发布在  Java
关注(0)|答案(2)|浏览(353)

我有一个extjs表单,我试图从中使用ext.ajax.request将参数发布到servlet。调用正在工作,正在调用servlet,但由于某些原因,未发送参数的值。我会发布我的代码,有人能告诉我我做错了什么吗。提前谢谢。
这是来自extjs表单的调用:

buttons: [{

        text: 'Search',
        handler: function(){

                          var fName = Ext.getCmp("fName").getValue();

                          Ext.Ajax.request({

                               url : 'LookUPCustomer',

                               method: 'POST',
                               headers: { 'Content-Type': 'application/json'},                    
                               params : fName, // this value isn't being passed to servlet

                               success: function ( result, request ) {
                                    var resultData1 = JSON.parse(result.responseText);
                               },

                               failure: function ( result, request ) {
                                 resultData = JSON.parse(xmlhttp.responseText);
                               }        

                          });

               }];

下面是servlet代码:

protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {

         PrintWriter out = response.getWriter();

         // value of fName is null, not being passed from the form
         String fName = request.getParameter("fName");

         // does some processing....

    // print back to the form
         response.setContentType("application/json");

     out.println(jsArray);      
   }
odopli94

odopli941#

params参数应该是一个带有键、值对的json对象。下面是一个例子:

params: {
           firstName: 'Jeff',
           lastName: 'Tester'
        }

或者插入变量

params: { fName: fName }
pqwbnv8z

pqwbnv8z2#

正如您所说,您正在使用ExtJS4.0.7。它使用外部参数。因此,您需要像下面这样编写代码
在发送之前,只需验证fname是否包含必需的值。

Ext.Ajax.request({
    url : <URL>,
    method: 'POST',                    
    extraParams :{ fName : fName },  
    success: function ( result, request ) {
         var resultData1 = JSON.parse(result.responseText);
    },
    failure: function ( result, request ) {
      resultData = JSON.parse(xmlhttp.responseText);
    }        
});

谢谢

相关问题