【问题标题】:ajax issue with users on slow connection连接速度慢的用户的 ajax 问题
【发布时间】:2013-12-07 10:25:00
【问题描述】:

我在这里有同样的问题 [1]:Dealing with clients behind slow connection

当快速的互联网用户使用我的门户时,ajax 调用工作正常, 对于互联网连接速度较慢的用户,它如何以 200 ok 成功回叫的空响应

我可以在错误回调中处理它不是超时问题,这是一个有线问题,因为成功回调是通过 200 ok 和空响应触发的

不知道为什么这种情况只发生在互联网连接速度较慢的用户身上。

有什么想法吗?

【问题讨论】:

  • 您通过 ajax 调用返回给客户端的具体内容是什么?如果是图像,那么您可以使用延迟加载功能。延迟加载 jquery api 一次只返回指定数量的图像(可配置)
  • 我返回正常的html数据
  • 那么,最好的办法是从目标脚本中删除不必要的js库,这些库是通过ajax调用返回的。尝试使用 js lib 的缩小(压缩副本)版本而不是开发版本,这将减少通过 ajax 调用传输到客户端的 html 数据的大小。
  • 还有很多其他的东西可以合并到您的网页中,以提高性能
  • 我调用脚本中没有js库,只返回正常生成的html表

标签: php ajax performance


【解决方案1】:

您可以在 div 中添加一个加载掩码,在 Ajax 中使用 before send 函数,直到成功获取数据....类似于;

     jQuery.ajax({
                url: "yourscript.php",
                type: "POST",
                dataType: 'json',

                beforeSend: function() {
                    jQuery(".selector #overlay").show();
                },
                success: function(response) {
                   if (response > 0) {
                        jQuery(".selector #overlay").fadeOut(800);
                        // your code......


    `

并在您的 CSS 中添加一个微调器或类似于 #overlay 元素;

    #overlay{display: none; position:absolute; top: 0; right: 0; bottom: 0; left: 0;width: 100%;height: 100%; background: rgba(207, 207, 207, 0.5) url(/assets/spinner.gif) center center no-repeat;}

【讨论】:

    猜你喜欢
    • 2019-10-02
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 2011-05-14
    • 1970-01-01
    相关资源
    最近更新 更多