Ray-Yan 2016-10-12 06:49 采纳率: 100%
浏览 1069
已采纳

Json传值前台接收不到

sevlet中的代码如下,其中base_cn等等都是通过数据库Dao方法查询出来的整型变量,然后转换为json格式字符串,传回前台和页面上的数字比较。

        int base_rn = new RadioDao().getRadioNumber(base);
                int base_cn = new CheckBoxDao().getCheckBoxNumber(base);
                int base_jn = new JudgeDao().getJudgeNumber(base);
                int base_bn = new BlankDao().getBlankNumber(base);

                response.setContentType("application/json; charset=utf-8");
                String jsonStr = "{\"base_rn\":base_rn,\"base_cn\":base_cn,\"base_jn\":base_jn,\"base_bn\":base_bn}";
                PrintWriter out = null;
                try {
                    out = response.getWriter();
                    out.write(jsonStr);
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    if (out != null) {
                        out.close();
                    }
                }

前台的ajax如下:

 $.ajax({
        url : "servlet/GetPaperServlet",
        type : "POST",
        data : {
            "account" : account.val(),
            "true_name" : true_name.val(),
            "title" : title.val(),
            "base" : base.val(),
            "difficult" : difficult.val(),
            "time" : time.val(),
            "radio_number" : radio_number.val(),
            "checkbox_number" : checkbox_number.val(),
            "judge_number" : judge_number.val(),
            "blank_number" : blank_number.val(),
            "radio_score" : radio_score.val(),
            "checkbox_score" : checkbox_score.val(),
            "judge_score" : judge_score.val(),
            "blank_score" : blank_score.val(),
            "sum_score" : sum_score.val()
        },
            dataType : "json",
            success : function(jsonStr) {
                alert("comming");
                alert(jsonStr);
                if(jsonStr.base_rn<radio_number){
                    alert("题库中单选题数量不足,请减少题量!");
                    return false;
                }else{
                    alert("dd");
                }
            },
            error : function(er) {
                alert(er.message);
            }
        });

执行后,页面直接弹出undefined的警示框,请问大神正确的做法是什么?才能正确的实现相应的功能!

  • 写回答

4条回答

  • Go 旅城通票 2016-10-12 07:36
    关注

    说明执行到error回调,er是xhr对象,没有message属性,获取服务器返回内容用responseText属性

    er.message
    ==>
    er.responseText

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

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置