我遇到了JSON和JQUERY的问题。在我的Web应用程序中,我将一些数据(通过$ .ajax调用)提交给servlet,并希望在完成后从这个servlet接收一些信息。 我以这种方式使用JSONObject:
function check(){
$.ajax({
url: "/check",
type: "POST",
dataType: "json",
success: on_check_ok,
error: function(){
alert("something wrong happened");
},
data: {
players_code: $("#players_code").val(),
},
});
return false;
}
function on_check_ok(data) {
var json = data;
$("#display").text(json.check); //"display" is a <div> into index.html
};
这是我的servlet代码中的doPost()方法:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
response.setContentType("application/json");
PrintWriter out = response.getWriter();
String code_array = request.getParameter("players_code");
System.out.println("Player's code is: " + code_array);
int arr = Integer.parseInt(code_array);
LinkedList<Integer> stack = new LinkedList<Integer>();
while(arr > 0){
stack.push(arr%10);
arr = arr/10;
}
int index = 0;
while(!stack.isEmpty()){
array[index] = (int)stack.pop();
index++;
}
mm.checkGuess(array);
response.getWriter().write(mm.ris + " ");
tries++;
System.out.println("TRIES: " + tries);
JSONObject obj = new JSONObject();
obj.put("check", tries);
String json = obj.toString();
out.write(json);
System.out.println("JSON " + json);
} }
但无法显示任何信息。似乎JSONObject已正确创建,因为我可以在控制台上显示它。我很难将这些数据恢复到javascripts。 这是我的代码,我做错了什么?或者,是否有另一种方法可以获得相同的结果?谢谢你的帮助!