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 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog