javascript - 寻找 AJAX get 和 post 使用的 Web 数据的绝对或可能估计?

标签 javascript jquery post get size

我一直在此处和谷歌浏览,但没有成功。我目前正在开发一个在用户本地计算机上运行的小页面(我猜它会被称为网络应用程序),它使用 AJAX 的 getpost 方法。不过我想知道每次获取和发布使用了多少数据。

到目前为止,我在这里找到了一个页面,它可以帮助我在 JSON.stringify 使用 get 返回的 json 后计算数据的大小。 How many bytes in a JavaScript string?

但是我对此有一些想法。我认为 URL get 和 post 的大小也会消耗数据。由于它使用 https 协议(protocol),我想大小会有所不同。

我遇到的问题是带有查询的 URL(URL 末尾的 ?something=value 内容)大小。

我稍后会使用 jQuery,如果它的测量方式不同,请注意。

如有任何帮助,我们将不胜感激。

编辑:为了避免混淆,我指的是网络数据。

最佳答案

您可以创建一个变量来存储responseText.length之和;使用 .ajaxComplete()Content-Length 响应 header 的总和进行求和,或 responseText.length

var blobs = [new Blob(["abc"]) // 3
             , new Blob(["defg"]) // 4
             , new Blob(["hijkl"]) // 5
            ]; // 12;
var _data = {sent:0, received:0};

$(document).ajaxComplete(function(event, jqxhr, ajaxOptions) {
  if (ajaxOptions.type === "GET") {
    _data.received += jqxhr.responseText.length;
  } else {
    _data.sent += ajaxOptions.data 
                  ? ajaxOptions.data.length 
                  : ajaxOptions.url.split("?")[1].length; // handle query string data
  }
  // sum `_data` using `jqxhr.responseText`     
  console.log("total data received:", _data, ajaxOptions);
  // sent: 14, received: 12
})

$.each(blobs, function(_, blob) {
  // three requests; 3, 4, 5 string characters, respectively
  $.get(URL.createObjectURL(blob)) 
})

$.post(URL.createObjectURL(new Blob([null])), {mno:123}); // 7

$.post("?pqr=789"); // 7
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>

关于javascript - 寻找 AJAX get 和 post 使用的 Web 数据的绝对或可能估计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37241604/

相关文章:

javascript - 如何在新打开的 chrome 选项卡上执行我的内容脚本?

jQuery:与 NProgess 类似的 Loading 效果

javascript - 简单的 CSS 梯度检测

node.js - 将数据发布到 odata 服务时,nodejs 中的 CSRF token 验证失败

java - 使用 OkHttpClient 发送 post 请求

javascript - 在 JavaScript 中使用具有多个条件的 JSONS 过滤数组

javascript - 创建多个饼图/圆环图

javascript - JQuery 追加是关闭表单标签

javascript - 从页面中完全隐藏元素的最有效方法是什么?

jquery - 结合 JQuery 验证和 ajax post