新人求解答—Jquery怎么得到从ashx文件传过来的Json字符串里面的二进制数据!!

ashx代码


<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<script>
    $.ajax({
        url: 'xxxxx.ashx', dataType: 'json', success: function (json) {
            console.log(json)
            alert(json.xxxx)//xxx行为json对象属性
        }, error: function (xhr) { alert('动态页有问题或者json格式不标准'+xhr.responseText)}
    })
</script>

$.ajax({
url: 'xxxxx.ashx',
type: 'get',
dataType: 'json',
data: { 'method':"getJsonData","idCard":"xxxxx"},

        error: function (XMLHttpRequest, textStatus, errorThrown) {//请求错误 时执行的方法 
            alert("error!" + errorThrown);

        },
        success: function (data, txtSataus) {//请求成功时执行的方法 
          var jsonData=data;
            //其它逻辑
        }
    });

可以用String.fromCharCode()

或者先二进制字符串转十进制,然后再转回来你需要的进制。

var a= 1111; //2进制数
alert(parseInt(a,2).toString(10)); //得到15

没必要这么多此一举啊,显示图片直接ashx就可以啊
xxxxx.ashx代码里
public void ProcessRequest(HttpContext context)
{
//获取图片文件的二进制数据。
byte[] datas = ................ //你从数据库里得到的二进制数据
//将二进制数据写入到输出流中。
context.Response.OutputStream.Write(datas, 0, datas.Length);
}
前台

如果你想改变或者说传参换,可以直接test.src = 'xxxxx.ashx?id=1',这种方式来实现啊

前台
< img id="test" src="xxxxx.ashx" / >
无语,发的代码变图片了

计算机最原始的就是二级制了,所以,二级制就不能放在JSON中,JSON处理字符串的,直接将二进制写入到页面就可以了,如果是java,你再方法里面设置响应头,是什么文件的二级制就设置什么文件格式,比如是png,你可以
response.setHeader("Content-type",".png");response.getWrite().write(你的二进制);就渲染成一张图片。