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

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吗

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月30日
  • 已采纳回答 8月26日
  • 创建了问题 8月26日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用