我的JSP文件:

<script type="text/javascript">
    function suggest() {

     $.getJSON("/practice-webapp/getOrgList.htm",
        { searchee: $("#searchee").val() },
          function(data) { alert(data); });

    }

    </script>

Search Org Name: <input id="searchee" onkeyup="suggest()" />


我的控制器:

@RequestMapping(value = "/getOrgList.htm", method = RequestMethod.GET)
    public @ResponseBody String getOrgList(@RequestParam String searchee) {

        System.out.println("RECEIVED: " + searchee );
        return searchee;
    }


每当我在搜索字段中输入字符串时,都不会执行“警报(数据)”。但是,如果在字段为空之前使用退格键,则会执行“ alert(data)”,但显然它包含一个空值。我只是测试json功能。我要显示的是控制器返回的字符串。
(顺便说一句,搜索对象的值确实是由控制器接收的。)

最佳答案

您正在从getOrgList操作返回一个字符串,因为getJSON期望格式正确的json字符串,因此您在响应中看不到任何内容。尝试发送以下

 public @ResponseBody String getOrgList(@RequestParam String searchee) {

        System.out.println("RECEIVED: " + searchee );
        return "{ 'searchee': '"+searchee+"' }";
    }

10-07 16:40