将JSON数据从服务器获取到$.ajax调用中

将JSON数据从服务器获取到$.ajax调用中,json,Json,我对JSON和JQUERY有问题。在我的web应用程序中,我向一个servlet提交一些数据(通过一个$.ajax调用),并希望在完成后从这个servlet接收一些信息。 我以这种方式使用JSONObject: function check(){ $.ajax({ url: "/check", type: "POST", dataType: "json", success: on_check_ok, err

我对JSON和JQUERY有问题。在我的web应用程序中,我向一个servlet提交一些数据(通过一个$.ajax调用),并希望在完成后从这个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
    };
函数检查(){
$.ajax({
url:“/检查”,
类型:“POST”,
数据类型:“json”,
成功:在_check _ok上,
错误:函数(){
警惕(“出了什么事”);
},
数据:{
玩家代码:$(“#玩家代码”).val(),
},
});
返回false;
}
检查功能正常(数据){
var json=数据;
$(“#display”).text(json.check);/“display”是一个转换为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);
public void doPost(HttpServletRequest请求,HttpServletResponse响应)抛出IOException,ServletException{
setContentType(“应用程序/json”);
PrintWriter out=response.getWriter();
字符串代码_数组=request.getParameter(“玩家代码”);
System.out.println(“玩家代码为:“+code\u数组”);
int arr=Integer.parseInt(代码数组);
LinkedList堆栈=新建LinkedList();
而(arr>0){
堆栈推送(arr%10);
arr=arr/10;
}
int指数=0;
而(!stack.isEmpty()){
数组[index]=(int)stack.pop();
索引++;
}
mm.checkGuess(数组);
response.getWriter().write(mm.ris+“”);
尝试++;
System.out.println(“trys:+trys”);
JSONObject obj=新的JSONObject();
对象放置(“检查”,尝试);
字符串json=obj.toString();
out.write(json);
System.out.println(“JSON”+JSON);
} }


但无法显示任何信息。似乎JSONObject已经正确创建,因为我可以在控制台上显示它。我很难将这些数据返回到javascripts。
这是我的密码,我做错了什么?或者,有没有其他方法可以得到同样的结果?谢谢你的帮助

“但无法显示任何信息”?您是说您无法获取JSON对象的属性,还是整个响应为零。@Dave在控制台上打印时,我可以看到从servlet内部调用的方法获取的所有数据。据我所知,JSON对象是好的。我想我的javascript代码中有问题。我尝试了几个在网上找到的例子,我的代码也没什么不同。但是我的不起作用…我很困惑..我怀疑这一行“$(“#显示”).text(json.check);”而尝试这一行$(“#显示”).text(数据);只是为了检查DIV是否被填充?还要确保id=“display”的div存在:)@Dave尝试了你的建议。没有得到回应。相反,我尝试添加一些显示的错误消息(在#display上)并…得到错误消息..一个问题:是否可以进行ajax调用并向servlet发送一些数据(不是Json)并接收Json数据?