2

Ext.Ajax.request を使用してパラメーターをサーブレットに投稿しようとしている extjs フォームがあります。呼び出しは機能しており、サーブレットが呼び出されていますが、何らかの理由でパラメーターの値が送信されていません。私は自分のコードを投稿します。誰かが私が間違っていることを教えてくれますか? 前もって感謝します。

これは 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);
                               }        

                          });

               }]; 

ここにサーブレットコードがあります:

   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);      
   }
4

2 に答える 2

4

params パラメーターは、キーと値のペアを持つ JSON オブジェクトである必要があります。次に例を示します。

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

または変数をプラグインする

params: { fName: fName }
于 2013-06-06T02:29:49.080 に答える
0

あなたが言ったように、あなたはextjs 4.0.7を使用しています。extraparams を使用します。したがって、以下のようにコーディングする必要があります

送信する前に、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);
    }        
});

ありがとう

于 2013-06-06T05:07:52.300 に答える