我正在尝试访问从Javascript数组传递的数据,Java servlet并返回Javascript,但是我遇到了“未定义”的情况。
下面是我的Javascript代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String postalCode = request.getParameter("postalCode");
String buildingNo = request.getParameter("buildingNo");
String status = "A";
JSONObject jsonObj = new JSONObject();
JSONArray jArray = new JSONArray();
jsonObj.put("status",status);
jsonObj.put("buildingNo",buildingNo);
jArray.add(jsonObj);
response.getWriter().write(jArray.toString());
}
这是Java Servlet代码段:
{{1}}
如何获取status的值,buildingNo分别用于Javascript?
答案 0 :(得分:2)
通过仔细阅读问题中的所有代码错误,servlet返回的JSON很可能是正确的。否则,JSON.parse()
将引发错误,并且在输出jsonParse.status
时不会得到未定义的值。
然后真正的问题是您的servlet向您发送了一个数组,因此您需要将其视为一个数组:
const jsonParse = [{"status":"A","buildingNo":"[\"12345\",\"54321\"]"}];
console.log(jsonParse[0].status); // "A"