渺沧海一粟667
2021-08-26 19:14
采纳率: 85.7%
浏览 47
已结题

AJAX 接收不到返回参数问题

后端返回 success 和 fail

@RequestMapping("addFace")
    public String faceAdd(String userName,String base,String password) {
        // 去掉base64编码中的图片头信息
        String base64 = base.split(",")[1];
        try {
            //base64转图片
            Base64Utils.GenerateImage(base64, "D:\\workspace\\IdeaProjects\\meeting\\temp\\temp.jpg");
        } catch (IOException e) {
            e.printStackTrace();
        }
        //获取人脸特征
        byte[] face = new MyFaceFeature().extract(new File("D:\\workspace\\IdeaProjects\\meeting\\temp\\temp.jpg"), faceEngine);
        if(face == null||loginService.checkUser(userName)!=null) {
            return "fail";
        }else {
            int sum = adminService.countUser();
            faceService.faceAdd(new User(sum+1,userName,face, Md5Util.md5(password),1000+sum));
            return "success";
        }
    }

js 是不是因为DOMContentLoaded的原因。求解

//这段代 主要是获取摄像头的视频流并显示在Video 签中
    window.addEventListener("DOMContentLoaded", function () {
        let canvas = document.getElementById("canvas"),
            context = canvas.getContext("2d"),
            video = document.getElementById("video"),
            videoObj = {
                "video": true
            },
            errBack = function(error) {
                console.log("Video capture error: ", error.code);
                alert("不支持");
            };
        canvas.width = 200;
        canvas.height = 150;
        let button = document.getElementById("reg");
        button.onclick = function(){
            context.drawImage(video, 0, 0, 200, 150);
            // 把画布的内容转换为base64编码格式的图片
            let data = canvas.toDataURL( 'image/png', 1 );  //1表示质量(无损压缩)
            let userName = document.getElementById("userName").value;
            let password = document.getElementById("password").value;
            $.ajax({
                url: '${pageContext.request.contextPath}/m_manage/addFace',
                cache:false,
                type: 'POST',
                data: {
                    base : data,
                    userName : userName,
                    password : password
                },
                dataType: 'json'
                ,success:function(res){
                    if (res=="success"){
                        alert("注册成功!");
                    }else {
                        alert("注册失败。");
                    }
                }
            });
        }
        //请求摄像头权限
        navigator.mediaDevices.getUserMedia(videoObj)
            .then(function(stream){
                //成功回调函数,把流给video标签
                video.srcObject = stream;
                video.play();
            })
            .catch(errBack);
    },false);

请求发送成功。也返回了

img

  • 好问题 提建议
  • 收藏

1条回答 默认 最新

  • 颜人中是 2021-08-26 19:40
    已采纳

    接收不到res吗

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题