你这里ajax上传的参数名字写的是image,你后台是有img获取的,应该是获取不到的吧,你把后台获取的名字改成image试下呢
关于ajax传值失败的问题
10这是前端代码
<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条回答
为你推荐
- 前后端分离项目,前端用axios传递参数到后台,报如下异常,他说参数丢了。求大神帮忙
- spring security 配置问题 登陆成功后无法跳转
- spring
- 0个回答
- AJAX报500错误的常见原因有哪些
- ajax
- javascript
- 0个回答
- 关于ajax传值失败的问题
- 图片
- ajax
- 上传
- 4个回答
- ajax使用post回写数据到jsp页面,为什么页面取不到数据
- 微擎(微赞)二次开发问题——PHP,JS的AJAX通信问题
- 在springmvc和mybatis框架下根据id批量删除
- mybatis
- spring
- 4个回答
- ajax的值怎样传递到echarts中
- ajax
- echarts
- javascript
- 2个回答
- c# ado.net 前台用ajax传数据到后台 看图 大家觉得我后台怎么接收
- js动态创建的方法传递参数
- onclick
- js
- 参数
- 2个回答
- Ajax传值和PHP接收,请大神帮忙看下