风暴之巅 2017-04-16 03:48 采纳率: 100%
浏览 2901
已采纳

为什么ajax的success在页面返回的是字符串

 $.ajax({
        url : url,
        type : 'post',
        dataType: 'json',
        data : datastring,
        success : function(data) {
            alert(3);
        },
        error:function(data) {
            alert("error");
        }
    });

    controller中
        @RequestMapping("/insertMenu")
    @ResponseBody
    public MenuVo insertMenu(MenuSunVo menuSunVo,HttpServletResponse response) throws IOException {  
//      response.setCharacterEncoding("UTF-8"); 
//      String success = "nimabi";
//      JSONObject json = new JSONObject();
//      json.put("success", "success");
//      response.getWriter().print(json.toString());  
//      response.getWriter().flush();  
//      response.getWriter().close();
//      System.out.println(menuSunVo.getMenuName());
        MenuVo menuVo = new MenuVo();
        menuVo.setMenuId("1");
        menuVo.setMenuName("name");
        return menuVo;
    }
注释的部分和没注释的都试过,这两个都会直接把结果显示在页面。
为什么不会alert(3),而是直接在页面显示出结果,怎么才能让他进入到success中。

返回结果如图所示   回答的第一条就是图片。。
![图片说明](https://img-ask.csdn.net/upload/201704/16/1492314904_914418.png)
  • 写回答

6条回答 默认 最新

  • threenewbee 2017-04-16 04:17
    关注

    $.ajax({
    url : url,
    type : 'post',
    dataType: 'json',
    data : datastring,
    success : function(data) {
    alert(3);
    },
    error:function(data) {
    alert("error");
    }
    });
    这段代码在什么情况下调用
    除了这段代码,你的界面还绑定了什么别的请求服务器,post的代码

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?