t1441332354
t1441332354
2018-06-06 11:28
采纳率: 71.8%
浏览 1.8k

关于在jsp页面添加提示框的问题

这是前端的部分代码

     function uploadImage(){
        $.ajax({
            type:'post',
            url:'UploadImage',
            data:{image:img},
            async:false,
            datatype:'json',
            success:function(data){
                if(data.success){
                    alret('上传成功');
                }else{
                    alret('上传失败');
                }
            },
            error:function(err){
                alert('网络故障');
            }
        });
    }

这是后台代码

    String image = request.getParameter("image");

        String header = "data:image/jpeg;base64";

        image = image.substring(header.length());


        BASE64Decoder decoder = new BASE64Decoder();
        try{
            byte[] b = decoder.decodeBuffer(image);

            String imageFilePath = "D://"+"222"+".jpg";
            OutputStream out = new FileOutputStream(imageFilePath);
            out.write(b);
            out.flush();
            out.close();

        }catch(Exception e){

            e.printStackTrace();
        }

前端的“success”应该是类似于信息提示框,但后台的判定应该怎么写我一直没有搞清楚,也就是“if(data.success)”响应后台的什么信息?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

11条回答 默认 最新

  • shenyanwei
    shenyanwei 2018-06-06 12:30

    后台没有return 么

    点赞 评论
  • xcgh
    xcgh 2018-06-06 12:34

    后台代码需要返回一个json字符串,后台在文件上传失败时,需要定义个map,map里的success设置为false,成功设置为true,然后把map生成json

    点赞 评论
  • ycnxyalove
    一只不寻常的猫 2018-06-06 12:47

    后台的ajax要return一个值,然后前台不能直接用,需要json_decode

    点赞 评论
  • showbo

    输出json格式字符串,如

     try{
                byte[] b = decoder.decodeBuffer(image);
    
                String imageFilePath = "D://"+"222"+".jpg";
                OutputStream out = new FileOutputStream(imageFilePath);
                out.write(b);
                out.flush();
                out.close();
                            ////////////////////////////
    response.getWriter().write("{\"success\":true}");
    
            }catch(Exception e){
    
                e.printStackTrace();
            }
    
    点赞 评论
  • qq_37134216
    qq_37134216 2018-06-06 13:55

    后台代码需要返回一个json字符串,然后return

    点赞 评论
  • da_jie
    爱好打劫 2018-06-06 15:36

    既然用ajax上传,那么回调就要返回json。既然是用的servlet,那就不建议使用ajax,直接form提交上传吧

    点赞 评论
  • weixin_34598008
    weixin_34598008 2018-06-07 02:27

    后台返回的json中应该包含名为“success”的key值,前端取值的时候data.success就等于用success这个key去取到json对应的值,来判定是否成功

    点赞 评论
  • tongkaiming
    tongkaiming 2018-06-07 03:25

    public Map functions{
    Map map=new HashMap();
    try{
    byte[] b = decoder.decodeBuffer(image);

            String imageFilePath = "D://"+"222"+".jpg";
            OutputStream out = new FileOutputStream(imageFilePath);
            out.write(b);
            out.flush();
            out.close();
    map.put("success",true);
        }catch(Exception e){
    

    map.put("success",false);
    // e.printStackTrace();
    }
    return map
    }

    点赞 评论
  • qq_35523490
    qq_35523490 2018-06-07 08:07

    后台代码需要返回一个json字符串的,然后return

    点赞 评论
  • qq_36514248
    狸猫花 2018-06-07 13:42

    datatype:'json',
    success:function(data){//返回格式为json
    if(data.success){//判定返回的data属性是否为success如成功则上传成功
    alret('上传成功');
    }else{
    alret('上传失败');
    }
    },

    点赞 评论
  • ruyi159
    意心一忆 2018-06-07 16:18

    后台不是应该返回一个Response么?

    点赞 评论

相关推荐