我正在發佈一個jQuery AJAX POST到一個servlet並且數據是JSON字符串的形式。 它成功發佈,但在Servlet端,我需要將這些key-val對讀入會話對象並存儲它們。我嘗試使用JSONObject類,但我無法得到它。在servlet中讀取JSON字符串
繼承人的代碼片斷
$(function(){
$.ajax(
{
data: mydata, //mydata={"name":"abc","age":"21"}
method:POST,
url: ../MyServlet,
success: function(response){alert(response);
}
});
Servlet的側
public doPost(HTTPServletRequest req, HTTPServletResponse res)
{
HTTPSession session = new Session(false);
JSONObject jObj = new JSONObject();
JSONObject newObj = jObj.getJSONObject(request.getParameter("mydata"));
Enumeration eNames = newObj.keys(); //gets all the keys
while(eNames.hasNextElement())
{
// Here I need to retrieve the values of the JSON string
// and add it to the session
}
}
爲什麼不創建一個JavaScript對象mydata,其中包含mydata.name,mydata.age?那麼你可以只是拉你的servlet的具體參數,而不是解碼json? – dmcnelis 2011-03-17 12:30:23
我不能'因爲key-val可以從POST到另一個不同 – sv1 2011-03-17 12:37:52
你可以在你的函數中使用JQuery解碼json時,fwiw。不是說應該是你的解決方案,但它會完成同樣的事情。 – dmcnelis 2011-03-17 12:46:51