Ajax发送和接收二进制字节流数据的方法

HTML5 Ajax 2.0标准中,增强了Ajax的许多功能,包括发送FormData数据,上传数据进度条等诸多功能。但实际上,Ajax可以字节发送二进制数据。

发送二进制数据

var oReq = new XMLHttpRequest(); oReq.open("POST", url, true); oReq.onload = function (oEvent) { // Uploaded. }; var blob = new Blob(['abc123'], {type: 'text/plain'}); oReq.send(blob);

或者

var myArray = new ArrayBuffer(512); var longInt8View = new Uint8Array(myArray); for (var i=0; i< longInt8View.length; i++) { longInt8View[i] = i % 255; } var xhr = new XMLHttpRequest; xhr.open("POST", url, false); xhr.send(myArray);

接收二进制数据

var oReq = new XMLHttpRequest(); oReq.open("GET", "/myfile.png", true); oReq.responseType = "arraybuffer"; oReq.onload = function (oEvent) { var arrayBuffer = oReq.response; // Note: not oReq.responseText if (arrayBuffer) { var byteArray = new Uint8Array(arrayBuffer); for (var i = 0; i < byteArray.byteLength; i++) { } } }; oReq.send(null);

当然,如上设置只能是文本类型,如果是Blob类型,那么如下即可

var oReq = new XMLHttpRequest(); oReq.open("GET", "/myfile.png", true); oReq.responseType = "arraybuffer"; oReq.onload = function(oEvent) { var blob = new Blob([oReq.response], {type: "image/png"}); // ... }; oReq.send();

或者

var oReq = new XMLHttpRequest(); oReq.open("GET", "/myfile.png", true); oReq.responseType = "blob"; oReq.onload = function(oEvent) { var blob = oReq.response; // ... }; oReq.send();

如果你使用的是旧版本的浏览器,那么加载二进制可以如下

function load_binary_resource(url) { var req = new XMLHttpRequest(); req.open('GET', url, false); //XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com] req.overrideMimeType('text\/plain; charset=x-user-defined'); req.send(null); if (req.status != 200) return ''; return req.responseText; }

注意:x-user-defined告诉浏览器不要解析数据

以上所述是小编给大家介绍的Win7任务栏Ajax发送和接收二进制字节流数据的方法的相关知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-08-02 03:03:33

Ajax发送和接收二进制字节流数据的方法的相关文章

Ajax发送和接收二进制字节流数据的方法_AJAX相关

HTML5 Ajax 2.0标准中,增强了Ajax的许多功能,包括发送FormData数据,上传数据进度条等诸多功能.但实际上,Ajax可以字节发送二进制数据. 发送二进制数据 var oReq = new XMLHttpRequest(); oReq.open("POST", url, true); oReq.onload = function (oEvent) { // Uploaded. }; var blob = new Blob(['abc123'], {type: 'tex

jquery的ajax异步请求接收返回json数据实例_jquery

jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以. 代码示例如下: 复制代码 代码如下: $('#send').click(function () {     $.ajax({         type : "GET",         url : "a.php",         dataType : "json

nat穿透 udp-谁给一个在两个不同局域网内的主机,实现socket编程,能够发送和接收简单的数据

问题描述 谁给一个在两个不同局域网内的主机,实现socket编程,能够发送和接收简单的数据 本鸟在 网上查了一下资料,大部分都是关于tcp,udp穿透nat的方案,有一种是通过在一个外网的服务端的基础上实现,这得需要买一个外网ip,这种方案,我放弃了,我没钱买一个在公网上的ip 还一种一方端口映射,,不用外网的ip这种方式怎么实现啊??难道只是在路由器的转发规则,虚拟服务器上把自己的主机的ip和那个端口号添上就可以吗??上就可以吗??

django通过ajax发起请求返回JSON格式数据的方法

  本文实例讲述了django通过ajax发起请求返回JSON格式数据的方法.分享给大家供大家参考.具体实现方法如下: 这是后台处理的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 def checkemail(request): user = None if request.POST.has_key('email'): useremail = request.POST['email'] result = {} user = User.objects.filter(usere

Ajax发送和接收请求_AJAX相关

首先Ajax的不刷新页面提交数据,现在应用非常广泛,废话不多说马上进主题!! 基本上浏览器能接收的信息,Ajax都可以接收,ex:字符串,html标签,css标签,xml格式内容,json格式内容等等..... <script> // IE浏览器 if(ActiveXObject){ // 微软目前AJAX最新版本 var ajax = new ActiveXObject("Msxm12.XMLHTTP.6.0"); }else{ // 主流浏览器 var ajax = n

Ajax发送和接收请求

首先Ajax的不刷新页面提交数据,现在应用非常广泛,废话不多说马上进主题!! 基本上浏览器能接收的信息,Ajax都可以接收,ex:字符串,html标签,css标签,xml格式内容,json格式内容等等..... <script> // IE浏览器 if(ActiveXObject){ // 微软目前AJAX最新版本 var ajax = new ActiveXObject("Msxm12.XMLHTTP.6.0"); }else{ // 主流浏览器 var ajax = n

jquery ajax异步请求 接收返回json数据

例子  代码如下 复制代码 $('#send').click(function () {     $.ajax({         type : "GET",         url : "a.php",         dataType : "jsonp",         success : function (data) {             $.each(data.items, function (i, item) {       

Socket网络编程学习笔记(5):发送和接收实体类数据

在前面讲述的篇幅中,发送的都是文本信息,我们只要通过Encoding中的几 个方法把文本转化成二进制数组就可以利用Socket来传输了,这对于一些基本的 信息传输能够得到满足,但对于一些复杂的消息交流,则有些"吃力 ".我们有时候会把一些信息封闭在一个类中,如果Socket能够传送类对 象,那么一些复杂的问题能够通过面向对象来解决了,即方便又安全.大家都知 道,要想在网络上传输信息,必须要经过序列化才行,所以在传送类对象时,首 选必须对该类对象进行序列化,才能够在网络上进行传输. 序列

图片-ajax发送的数据,后台如何接收并且解析?

问题描述 ajax发送的数据,后台如何接收并且解析? 按照我这么写的话不对,打印出来的也没有地址,只是一个null 如何解析,希望大神们帮帮忙. 解决方案 ajax向后台发送数组数据ajax 获取后台数据显示listajax发送json,后台取得数据 解决方案二: 怎么没看见你的ajax:用data:{"realData":data};后台也要有值去接收,变量名为realData;如果不懂ajax可以参考:http://blog.csdn.net/qq_19558705/article