t1441332354 2018-06-06 09:04 采纳率: 71.8%
浏览 1018
已采纳

关于ajax传值失败的问题

这是前端代码

 <body>
  <div class="booth">
    <video id="video" width="400" height="300"></video>
    <input id='tack' type="button" value="拍照">
    <canvas id='canvas' width='400' height='300'></canvas>
    <img id='img' src=''>
    <input type="button" onclick="uploadImage();" value="上传">
  </div>

  <script>
    var video = document.getElementById('video'),
        canvas = document.getElementById('canvas'),
        snap = document.getElementById('tack'),
        img = document.getElementById('img'),
        vendorUrl = window.URL || window.webkitURL;
                    //媒体对象
    navigator.getMedia = navigator.getUserMedia ||
                         navagator.webkitGetUserMedia ||
                         navigator.mozGetUserMedia ||
                         navigator.msGetUserMedia;
    navigator.getMedia({
        video: true, //使用摄像头对象
        audio: false  //不适用音频
    }, function(strem){
        console.log(strem);
        video.src = vendorUrl.createObjectURL(strem);
        video.play();
    }, function(error) {
        //error.code
        console.log(error);
    });
                    snap.addEventListener('click', function(){

        //绘制canvas图形
        canvas.getContext('2d').drawImage(video, 0, 0, 400, 300);

        //把canvas图像转为img图片
        img = canvas.toDataURL("image/png");

    });

    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('网络故障');
            }
        });
    }

这是后台代码
图片说明

我想用ajax把“img=canvas.toDataURL("image/png")”的数据传回后台UploadImage,可是后台打印出来的一直是null,想请问代码应该怎么修改?
如果用来传,应该怎么写

  • 写回答

4条回答 默认 最新

  • fengyubanlan 2018-06-06 09:12
    关注

    图片说明
    你这里ajax上传的参数名字写的是image,你后台是有img获取的,应该是获取不到的吧,你把后台获取的名字改成image试下呢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程