有什么方法可以检查响应大小吗? Data属性是一个字节数组,我用它来显示图像。如果大小超过10 MB,我需要显示一个弹出窗口。
{
"Name": "sharon",
"Date": "07\/14\/2004",
"Data": "JVBERi0xLjINCg0KNC",
"DocumentId":1540,
}
另外,我如何检查我的回复类型,无论是blob还是其他什么?我可以检查一下我得到的blob的大小吗?也许是这样的:
var data = JSON.parse(this.responseData);
答案 0 :(得分:1)
你可以使用JavaScript .length
来实现这一点,但是实现不同的浏览器以及服务器将报告不同的值,因为对换行的一些解释可以是2个大小值中的一个(字节顺序)。
话虽如此,使用一个“松散”的值,确定包含您需要的数据,而不仅仅是没有值的标题响应。
答案 1 :(得分:0)
您可以将传入的响应插入一行并删除所有不必要的空白区域。
var JSON = '{\r\n' +
' "Name": "sharon",\r\n' +
' "Date": "07\/14\/2004",\r\n' +
' "Data": "JVBERi0xLjINCg0KNC",\r\n' +
' "DocumentId":1540,\r\n' +
'}';
alert(JSON);
alert(JSON.length); // 101
var newJSON = slurp(JSON);
alert(newJSON);
alert(newJSON.length); // 91
function slurp(str) {
str = str.replace(/(\r\n|\n|\r)/gm,"");
str = str.replace(/(\s+|\t)/gm,' ');
return str;
}