2014-04-04 26 views
0

這是我在客戶端代碼從POST請求JSON數據:如何使用Servlet的

$.ajax({ 
        type:'POST', 
        charset:'utf-8', 
        url:'http://localhost:8180/GisProject/MainService', 
        data:JSON.stringify(params), 
        success:function(msg) 
        { 
         console.log(msg); 
        }, 
        error:function(xhr,status) 
        { 
         console.log(status); 
        },  
        contentType:"application/json" 
      }); 

使用express.bodyParser我以前分析的節點這個數據,但現在我已經使用servlet解析它。我看到人們在不使用JSON.stringify的情況下在這裏分配變量,並使用request.getParameter(myData)獲得該變量。

獲取JSON數據到servlet的標準方法是什麼?

爲什麼人們似乎發送Javascript objects與JSON嵌入爲一個字符串內像data:{mydata:JSON.stringify(actualData)}

如果我不清楚,我想使用doPost方法的request對象來獲取我從客戶端發送的數據。

+0

http://stackoverflow.com/q/4112686/1031945 –

回答

0

你可以發送請求和響應對象doGet方法,並以相同的方式獲取json。

發送對象的方法GetGet

doGet(request,response);將其稱爲post方法。

+0

但我想用'POST'發送它,並想解析他們'doPost' – vamsiampolu

1

試試這個:

$.ajax({ 
      type:"POST", 
      url:'http://localhost:8180/GisProject/MainService', 
      data:{mydata:JSON.stringify(params)}, 
      datatype:"json", 
      success:function(msg) 
      { 
       console.log(msg); 
      }, 
      error:function(xhr,status) 
      { 
       console.log(status); 
      }, 
     }); 
+0

犯規此追加myData的到URL的結尾並將其作爲get參數發送?另外,isnt dataType用於從服務器獲取的輸出? – vamsiampolu

0

希望這將幫助你:

VAR OBJ = jQuery.parseJSON( '{ 「名」: 「約翰」}'); alert(obj.name ===「John」);

4

在服務器端的一個servlet,你可以閱讀request.getReader()POST數據淨荷

你也可以使用JSON庫像GSON解析JSON。喜歡的東西:

YourClass obj = new Gson().fromJson(request.getReader(), YourClass.class) 
+0

這很有幫助。謝謝。 –

+0

保存我的一天......謝謝..工作像魅力。 – Kintanpatel