【发布时间】:2014-02-26 09:10:40
【问题描述】:
我有 2 个数组用于在 javascript 中存储某些位置的纬度和经度。我想将这两个数组发送到 java servlet。我正在发送这样的 JSON 字符串: 函数 saveGeoPts() {
var GeoPts = [
{ "lati" : "18.55" , "longi" : "73.88" },
{ "lati" : "18.67" , "longi" : "73.89" },
{ "lati" : "18.59" , "longi" : "73.99" }, ];
for(var i=0;i<GeoPts.length;i++)
{
//document.write(GeoPts[i].lati+" "+GeoPts[i].longi+" ");
}
// convert JSON to string
var jsonString = JSON.stringify(GeoPts);
document.getElementById('jsonData').value = jsonString;
}</script>
</head>
<body>
<form action="Controller" method="post">
<input type="hidden" id="jsonData" name="jsonData" />
<input type="submit" onclick="saveGeoPts()" >
</form>
</body>
并试图以这种方式获取
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.print("in post");
JSONParser parser = new JSONParser();
String jsonString = request.getParameter("jsonData");
try {
JSONObject jsonObject = (JSONObject) parser.parse(jsonString);
System.out.print(jsonObject.get("lati"));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
【问题讨论】:
-
这是工作还是不工作?
-
不工作。我不明白这是否是正确的方式
-
您遇到的错误是什么?
-
尝试在服务器端打印 jsonString。你得到了什么?
标签: javascript json servlets