从控制器接收json数据时出现(ajax)406错误

时间:2017-06-01 08:40:33

标签: ajax spring

我有一些Ajax方法,它们使用HashMap对象从控制器接收数据,一切正常。

这次, 我试图用json类型检索数据。 但是,我的服务器响应错误406(不可接受)。

我不明白为什么服务器无法接收json类型

我遵循了stackoverflow中介绍的每一步 (添加额外的bean标记,更改内容类型等等。)

他们都没有工作

以下是我的代码。

@RequestMapping(value="/report/getMember", produces="application/json", 
method=RequestMethod.GET)
    public @ResponseBody JSONArray getMember(){




    List<HashMap<String,String>> result_dep = reportDao.getDep();

    List<MemberForReport> result_member = reportDao.getMemberForReport();



    String[] dep_list = new String[result_dep.size()]; 


    for(int i=0; i<result_dep.size(); i++){

        dep_list[i] = result_dep.get(i).get("dep");
    }




    HashMap<String, ArrayList<String>> hash_list = new HashMap<String, ArrayList<String>>();

    for(int i=0; i<dep_list.length; i++){

        ArrayList<String> member_list = new ArrayList<String>();

        for(int j=0; j<result_member.size(); j++){


            if(dep_list[i].equals(result_member.get(j).getDep())){

                member_list.add(result_member.get(j).getName());

            }
        }

        hash_list.put(dep_list[i], member_list);
    }



    JSONArray arry = new JSONArray();


    List keys = new ArrayList(hash_list.keySet());


    for(int i=0; i<keys.size(); i++){

        JSONArray arry_child = new JSONArray();
        JSONObject json_folder = new JSONObject();
        json_folder.put("title", keys.get(i));
        json_folder.put("isFolder", true);

        for(int j=0; j<hash_list.get(keys.get(i)).size(); j++){
            JSONObject json_child = new JSONObject();
            json_child.put("title", hash_list.get(keys.get(i)).get(j));
            arry_child.put(json_child);
        }

        json_folder.put("children", arry_child);
        arry.put(json_folder);
    }


    System.out.println("result \n"+arry.toString());


    return arry;
}

我的jquery代码

    $.ajax({

                url: "/asec/document/report/getMember",
                type: "get",
                ContentType: "application/json",


                success: function(data){

                alert(data);
            //  alert ("dd");

                },
                error: function(request, status, error){
                    console.log(request.getAllResponseHeaders());
                }

            });

0 个答案:

没有答案