zhangzijiez 2018-03-09 13:09 采纳率: 38.5%
浏览 1110
已采纳

ajax 不走success函数 请教大神

 mapper:
<select id="getDate" resultType="org.his.beans.OutBound">
    select distinct ny from OutBound order by ny desc
</select>
 controller:
@RequestMapping("/main")
    @ResponseBody
    public ModelAndView main(HttpServletResponse response, ModelAndView mv, HttpServletRequest request) {
        try {
            List<OutBound> list = service.getDate();
            JSONArray jsonArray = JSONArray.fromObject(list);
            mv.addObject("jsonArray",jsonArray);
            System.out.println(jsonArray);
            return mv;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
 jsp:
    <script type="text/javascript">
    $(document).ready(
            function() {
                $.ajax({
                    type : "POST",
                    url : "main",
                    dataType : "json",
                    success : function(data) {
                        alert(data);
                        for (var i = 0; i < data.length; i++) {
                            $("#ny").append(
                                    "<option>" + data[i].NY + "</option>");
                        }
                    }
                });
            });
</script>
  • 写回答

8条回答 默认 最新

  • 小明同学YYDS 2018-03-10 05:35
    关注

    建议解决思路:
    1.首先查看controller是否编写正确,即直接在地址栏上输入url看是否进入controller对应的方法,然后是否有返回值
    2.第一步没问题,那么就是ajax请求的问题:第一,查看请求方式是否正确包括:url,参数形式;第二,返回值处理方式是否正确:先看是否接收到返回值。

    那么从你贴出的代码来看,貌似url有点问题,你可以测试下.
    希望对你的问题有所帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • Dawn_WL 2018-03-09 14:10
    关注

    因为你返回的数据它处理不成json,怎么成功

    评论
  • 缘来一场梦 2018-03-09 16:19
    关注

    用text类型吧,在complete里看看是否成功返回了

    评论
  • 踮脚敲代码 2018-03-10 03:27
    关注

    有没有成功请求了控制器

    评论
  • 「已注销」 2018-03-10 05:34
    关注

    加了@ResponseBody后,直接返回list就可以,框架会帮你转json

    评论
  • 松海阵阵 2018-03-10 06:11
    关注

    建议:
    检查ajax调用的方法是否正确,不同的Jquery调用的方法不一样,后台的Json字符串封装也是不一样的,最新的版本的直接返回string类型的Json字符串就可以,但老的版本返回的是JsonResult类型的才识别

    评论
  • zyydomain 2018-03-10 08:15
    关注

    配置了responseBoby你直接返回list就可以了

    评论
  • zhangzijiez 2018-03-10 11:40
    关注
      controller:
    @RequestMapping("/main")
        @ResponseBody
        public ModelAndView main(HttpServletResponse response, ModelAndView mv, HttpServletRequest request) {
            try {     
                return service.getDate();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
     <script type="text/javascript">
        $(document).ready(function() {
            $.ajax({
                type : "POST",
                url : "main",
                dataType : "json",
                success : function(data) {
                    var b = "<option>请选择</option>";
                    for ( var i = 1; i < data.length; i++) {
                        b += "<option value='"+data[i]+"'>" + data[i] + "</option>";
                        alert(b);
                        $("#ny").html(b);
                    }
                }
            });
        });
    

    图片说明

    修改之后可以进success了 下面循环alert()弹出的数据都是object,界面显示不了要什么处理呢

    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥100 正常上网,内部网页无法打开
  • ¥15 组件库引入并使用在若依框架未展示
  • ¥149 关于#使用python 的Flash Echarts+ajax+mysql动态数据实现饼图#的问题,请各位专家解答!
  • ¥15 RichTextBox中追加文本时报错
  • ¥15 关于c语言的学习问题
  • ¥15 activity升级到flowable工作流act_ge_bytearray的草稿json数据复制到act_de_model 的model_editor_json的脚本
  • ¥15 cvi使用CreateThread创建线程时,出现存储空间不足无法处理此命令的错误
  • ¥15 求苹果推信imessage批量推信技术
  • ¥15 ubuntu 22.04 系统盘空间不足。隐藏的docker空间占用?(相关搜索:移动硬盘|管理系统)
  • ¥15 c++ word自动化,为什么可用接口是空的?