首页 >> js开发 >> js代码基于javascript处理二进制图片流过程详解
js代码基于javascript处理二进制图片流过程详解
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
今天学习怎么生成二维码,我习惯所有请求都用ajax完成但是今天发现jquery的ajax不支持二进制,只能搞纯文本于是百度之后手动实现这一功能
function getBinary(url, args, success) {
var xmlhttp = new XMLHttpRequest();
var data = eval(args);
var i = 0;
for (var key in data) {
if (i++ === 0) {
url += '?' + key + "=" + data[key];
} else {
url += '&' + key + "=" + data[key];
}
}
xmlhttp.open("GET", url, true);
xmlhttp.responseType = "blob";
xmlhttp.onload = function () {
success(this.response);
};
xmlhttp.send();
}
function getBinary(url, args, success) {
var xmlhttp = new XMLHttpRequest();
var data = eval(args);
var i = 0;
for (var key in data) {
if (i++ === 0) {
url += '?' + key + "=" + data[key];
} else {
url += '&' + key + "=" + data[key];
}
}
xmlhttp.open("GET", url, true);
xmlhttp.responseType = "blob";
xmlhttp.onload = function () {
success(this.response);
};
xmlhttp.send();
}我没有处理不同浏览器的XHR的问题 需要处理的在第一行搞就行需要三个参数地一个是请求url,第二个是请求参数,第三个是成功后的处理方法请求参数用这样的方式{‘param1':1,'param2':2,'param3':3}处理方法要接收一个参数 就是响应的数据 也就是下图的data然后是调用
function submit() {
getBinary("/request/qrCode", {'data': $('#str').val()},
function (data) {
var img = $('#qrcode');
window.URL.revokeObjectURL(img.src);
$('#qrcode').attr('src', window.URL.createObjectURL(data));
})
}
function submit() {
getBinary("/request/qrCode", {'data': $('#str').val()},
function (data) {
var img = $('#qrcode');
window.URL.revokeObjectURL(img.src);
$('#qrcode').attr('src', window.URL.createObjectURL(data));
})
}我这里是显示二维码第五行的代码不能少 少了的话首次执行该方法没问题 再次执行的话图片不会改变 需要刷新页面以上就是本文的全部内容,希望对大家的学习有所帮助。
function getBinary(url, args, success) {
var xmlhttp = new XMLHttpRequest();
var data = eval(args);
var i = 0;
for (var key in data) {
if (i++ === 0) {
url += '?' + key + "=" + data[key];
} else {
url += '&' + key + "=" + data[key];
}
}
xmlhttp.open("GET", url, true);
xmlhttp.responseType = "blob";
xmlhttp.onload = function () {
success(this.response);
};
xmlhttp.send();
}
function getBinary(url, args, success) {
var xmlhttp = new XMLHttpRequest();
var data = eval(args);
var i = 0;
for (var key in data) {
if (i++ === 0) {
url += '?' + key + "=" + data[key];
} else {
url += '&' + key + "=" + data[key];
}
}
xmlhttp.open("GET", url, true);
xmlhttp.responseType = "blob";
xmlhttp.onload = function () {
success(this.response);
};
xmlhttp.send();
}我没有处理不同浏览器的XHR的问题 需要处理的在第一行搞就行需要三个参数地一个是请求url,第二个是请求参数,第三个是成功后的处理方法请求参数用这样的方式{‘param1':1,'param2':2,'param3':3}处理方法要接收一个参数 就是响应的数据 也就是下图的data然后是调用
function submit() {
getBinary("/request/qrCode", {'data': $('#str').val()},
function (data) {
var img = $('#qrcode');
window.URL.revokeObjectURL(img.src);
$('#qrcode').attr('src', window.URL.createObjectURL(data));
})
}
function submit() {
getBinary("/request/qrCode", {'data': $('#str').val()},
function (data) {
var img = $('#qrcode');
window.URL.revokeObjectURL(img.src);
$('#qrcode').attr('src', window.URL.createObjectURL(data));
})
}我这里是显示二维码第五行的代码不能少 少了的话首次执行该方法没问题 再次执行的话图片不会改变 需要刷新页面以上就是本文的全部内容,希望对大家的学习有所帮助。
相关文章:
- jsvue+axios全局添加请求头和参数操作js大全
- js解决vue动态路由异步加载import组件,加载不到module的问题js大全
- jsAngular利用HTTP POST下载流文件的步骤记录js大全
- js解决vuex数据页面刷新后初始化操作js大全
- jsvue 页面回退mounted函数不执行的解决方案js大全
- jsvue项目使用$router.go(-1)返回时刷新原来的界面操作js大全
- jsElement Input输入框的使用方法js大全
- js关于angular浏览器兼容性问题的解决方案js大全
- JavaScriptthree.js欧拉角和四元数的使用方法
- js使用React-Router实现前端路由鉴权的示例代码js大全