渺沧海一粟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 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler