geo*_*ips 8 javascript performance jquery json
当我使用JQuery ajax函数并且响应非常大~1mb时,ui会在调用success函数之前被冻结.我已经通过JSON.parse函数和解析大量数据来体验这一点.我相信这个函数用于返回将内容格式化为JSON的请求.这是我正在使用的代码.
$.ajax({
url: "/sessions/" + this.get("session_id") + "/get_sample_data",
data: params,
dataType: 'json',
type: "GET",
success: function (response) {
success(response);
}
});
Run Code Online (Sandbox Code Playgroud)
反正是否有覆盖响应的代码,所以我可以将解析分成几部分并希望最小化对ui的阻塞?还是有另一种方法来解决这个问题.我正在使用铬和铬金丝雀,我在两者中得到相同的结果.
提前致谢
猜测是解析一个巨大的JSON响应是导致延迟的原因.如果是这种情况,那么您有以下选择:
要将解析拆分为多个部分,您必须更改jQuery ajax调用以返回原始文本,并且您必须创建自己的JSON解析器,它可以在块中执行工作,setTimeout()以便UI可以保持活动状态解析时.这将是一项可以接受的工作量.我假设您从一个现有的JSON解析器开始,然后您必须修改它以便以一种可以在块中工作的方式保存它的状态.
如果可以适当地修改服务器的接口,则更改接口到服务器以检索JSON片段可能是解决问题的更简单方法.
有关如何以块的形式处理大数据的一些替代想法,您可以看到迭代数组而不阻塞UI的最佳方法
| 归档时间: |
|
| 查看次数: |
4093 次 |
| 最近记录: |