为什么我的 Ajax 调用的“等待”时间这么长? (Chrome 网络面板)

2023-12-23

我在页面上有一些 ajax 调用,请求一些 json 内容。在所有这些电话中,我等待响应完成的时间很长。对于每个呼叫,呼叫中都会有几秒钟的“等待”期,如下面的 Chrome 网络面板所示。我附上了一张图片:

我不太确定是什么原因造成的,因为我对查询数据库的 php 代码做了一些基准测试,根据该结果,查询调用和处理要发送回的 json 的运行时间约为 0.001 秒左右。

那么,这只是网络延迟问题吗?这是我没有正确执行数据库查询的问题吗?也许我正在淹没每个浏览器窗口的最大连接数?不知道。其他请求的进展也同样缓慢,因此看起来可能是一致的。

Here is another photo of the rest of the requests timing (with the other main ajax call taking just as much time as the get_usergames_simple call: All the requests

作为参考,这里是 ajax 调用:

self.getGamesContent = function()
{
  var userID = "<?php echo $userID; ?>";

  var post_data = {
    userID: userID
  };

  $.post("https://mydomain.com/games/get_usergames_simple/", post_data, function(result)
  {
    var json = $.parseJSON(result);

    var mappedGames = $.map(json.games, function(item) {
      return new GameItem(item)
    });
    self.gameitems(mappedGames);
  });
};

这是运行查询的控制器中的 php 代码:

$userID = $this->input->post('userID');
$this->benchmark->mark('code_start');

$userGames = $this->cache->model('games', 'getGamesSimpleByUserID', array($userID), 120); // keep for 2 minutes

$returnString = "{";

$returnString .= '"user_id": "' . $userID . '",';

$gameCount = 0;

$returnString .= '"games": [';
foreach ($userGames as $ug)
{
  $returnString .= "{";
  $returnString .= '"user_id" : "' . $userID . '",';
  $returnString .= '"game_id" : "' . $ug->GameID . '",';
  $returnString .= '"game_name" : "' . $ug->GameName . '",';
  $returnString .= '"game_image" : "' . $ug->GameImage . '",';
  $returnString .= '"description" : "' . htmlspecialchars($ug->GameDescription) . '",';
  $returnString .= '"genre_id" : "' . $ug->GameGenreCatID . '",';
  $returnString .= '"genre_name" : "' . $ug->GameGenreName . '",';
  $returnString .= '"publisher_id" : "' . $ug->GamePublisherID . '",';
  $returnString .= '"publisher_name" : "' . $ug->GamePublisherName . '",';
  $returnString .= '"developer_id" : "' . $ug->GameDeveloperID . '",';
  $returnString .= '"developer_name" : "' . $ug->GameDeveloperName . '",';
  $returnString .= '"active_flag" : "' . $ug->GameIsActive . '",';
  $returnString .= '"create_date" : "' . $ug->GameCreateDate . '",';
  $returnString .= '"remove_date" : "' . $ug->GameRemoveDate . '",';
  $returnString .= '"last_update_date" : "' . $ug->GameLastUpdateDate . '",';
  $returnString .= '"user_syncing_game" : "' . $ug->UserSyncingGame . '"';
  $returnString .= "},";
  $gameCount++;
}

if ($gameCount > 0)
  $returnString = substr($returnString, 0, strlen($returnString) - 1);

$returnString .= "]}";


$this->benchmark->mark('code_end');

//echo $this->benchmark->elapsed_time('code_start', 'code_end');

echo $returnString;

控制器的构造函数中肯定有一些缓慢的动作。

最好使用 Codeigniter 中的内置分析器:

http://ellislab.com/codeigniter/user-guide/general/profiling.html http://ellislab.com/codeigniter/user-guide/general/profiling.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 Ajax 调用的“等待”时间这么长? (Chrome 网络面板) 的相关文章

  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • 如何在 Ext.js 中自动完成 html 输入标签?

    如果您使用 Ext js 库 如何在输入文本区域中进行自动完成 更准确地说 如何根据迭代 Ajax 请求进行自动完成 例如jQuery 自动完成插件 http docs jquery com Plugins AutoComplete aut
  • 如何在同一页面上使用AJAX处理多个表单

    我有一个表单 当我单击 提交 时 它就被提交了 然后该表单隐藏 操作页面的结果显示在 div 中 classname dig 它工作正常 但是当我添加另一个表单时 它停止正常工作并且所有表单同时提交 我如何更改我的代码 done click
  • JSF - 在 ajax 调用上传递参数 - 这段代码有什么问题?

    当我进行 ajax 调用时 我需要将参数传递给 bean 我的豆子是这样的 ManagedBean RequestScoped public class Selector ManagedProperty value param page p
  • 物化模式覆盖整个页面(模式弹出窗口未带到前台)

    由于保密原因 我无法上传 Web UI 的屏幕截图 物化模态应该表现得像here http materializecss com modals html 但不幸的是 我的网站发生的情况是 包括模式在内的整个页面都是 深色背景 的一部分 模式
  • jqgrid删除:没有获取值

    我使用 JSP 和 Servlet IDE Eclipse 数据库 Oracle10 开发 Web 应用程序 我在用JQGRID以表格格式显示数据 我还想要添加 编辑 删除的功能JQGRID 到目前为止我已经完成了编辑功能 现在我想要Del
  • PNG 透明度问题 - 带有黑色阴影的褪色图像 - IE 中的边框

    我使用图像旋转器在主页上显示一些图像 所有图像均为 PNG 格式 问题出在 IE 7 8 中 图像旁边有黑色阴影 我花了几个小时来解决这个问题 但仍然不知道问题出在哪里以及如何删除它 没有人有类似的问题和提示吗 如何解决 尝试使用 img
  • 我想检查 $('#td1').text() === "x" 是否?

    我想检查innerHtml是否有X或O 所以我不能再次添加任何其他东西 但它不起作用 添加检查代码后它就停止了 我在这里尝试做一个简单的XO游戏来更熟悉javascript和jquery 我也不确定是否可以用 jQuery 做到这一点
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何在 jQuery 中获取 ul 列表中 li 的第一个 href 链接

    我有以下清单 ul class tabs li a href testlink php First link a li li a href testlink2 php Second link a li ul 我想获取第一个链接的 href
  • 如何监听 jQuery AJAX 请求?

    以下两种实现 ajaxRequest 1 2 的方法应该是等效的 话说回来 为什么验证回调已执行的单元测试 3 在 1 中成功而在 2 中失败 我应该如何重写测试 3 来监视 2 中的成功回调 如果我尝试stub jQuery ajax使用
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • 文件上传控件 OnChange 事件 JQuery

    我正在尝试使用 AJAX JQUERY 和 Net HTTPHandler 构建页面来上传文件 如下所示http dotnet dzone com news async file upload jquery and http dotnet
  • jQuery Mobile 表单验证

    我有一个移动网站 除了验证之外一切都工作正常 基本上我希望从用户那里获取值 然后在单独的页面 process php 上处理它们 但是 在这样做之前 我需要检查以确保字段已填充 我已经研究了几种方法来做到这一点 但似乎没有一种有效 我现在有
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • jQuery 获取元素内的鼠标位置

    我希望制作一个控件 用户可以在 div 内单击 然后拖动鼠标 然后松开鼠标以指示他们想要的内容有多长 这是针对日历控件的 因此用户将指示特定事件的时间长度 看起来最好的方法是在父 div 上注册一个 mousedown 事件 而父 div
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • Javascript/Jquery:确定用户是否使用鼠标滚轮、滚动条或键盘滚动

    我正在尝试让用户界面正常工作 如果他们使用鼠标滚轮 我需要让它以一种方式滚动 如果他们使用滚动条 我需要让它以另一种方式滚动 如果他们使用键盘 我需要让它以另一种方式滚动 我相信滚轮和滚动条都充当鼠标事件 但是当单击滚动条时我无法让 jav
  • jQuery 对象相等

    如何确定两个 jQuery 对象是否相等 我希望能够在数组中搜索特定的 jQuery 对象 inArray jqobj my array 1 alert deviceTypeRoot deviceTypeRoot False alert d

随机推荐

  • 如何用 Javascript 确定网站停留时间?

    Google Analytics 跟踪 网站停留时间 你会如何有效地做到这一点 它真的会跟踪用户何时关闭浏览器或离开浏览器吗 想法 当然 我不能 100 确定 但我猜他们使用 javascript 以及 onload 和 onunload
  • htmlspecialchars & ENT_QUOTES 不起作用?

    基本上在显示来自 MySQL 数据库的数据时 我有一个htmlspecialchars 下面的函数应该将单引号和双引号转换为其安全实体 我遇到的问题是查看源代码 它只是转换 lt gt 当我还需要它来转换单引号和双引号时 sanitize
  • 检索推文中的所有主题标签

    是否可以使用推特API http apiwiki twitter com 检索单个推文中存在的所有主题标签的列表 例如 假设我有一条推文 假设它的 ID 为 12345 其中包含以下文本 你好 我喜欢 stackoverflow 因为它 s
  • 如何在不访问 /accounts/login url 的情况下显示 django allauth 注册页面?

    许多网站 例如 pinterest facebook 和 tumblr 的主页都有注册页面 是否可以让 allauth 登录页面显示在主页上而不是 accounts login 页面上 当然可以 只需将您想要访问的 URL 路由到 alla
  • 如何在 C# 中启用第二个监视器?

    是否可以以编程方式启用第二个显示器并用 C 将 Windows 桌面扩展到它上面 它需要执行与打开下图中的复选框等效的操作 MSDN 设备上下文函数 http msdn microsoft com en us library ms53325
  • 如何使用开源 Typescript 编译器代码提取给定 Typescript 代码的 AST?

    众所周知 Typescript 现在是完全开源的 可以在打字稿 https github com Microsoft TypeScript 我正在构建一个应用程序 它将获取 Typescript 代码作为输入 并给出给定代码的 AST 输出
  • DataColumn 的 AutoIncrement 始终返回 False

    我有兴趣检查列是否具有 autoincrement allowdbnull 属性 尽管我已经有一列具有 autoincrement allowdbnull 属性 但下面的代码总是给我 false Dim dt As New DataTabl
  • 更改窗口位置,然后等待窗口加载?

    请耐心等待 我对 Javascript 完全是个菜鸟 P 所以 我想做的是使用一个函数来加载网页 并且 在该功能完成后 我希望能够获取页面上某个元素的 HTML 代码 到目前为止 这是我的代码 function change window
  • OS X Sublime Text3 使用 zsh shell

    我想构建一个 python 文件 但出现以下错误 bin bash python command not found 原因是我使用的是 zsh 而不是 bash 那么如何让Sublime来查看 bin zsh 这表明您的路径不正确 也不是您
  • 如何使用NIO将InputStream写入文件?

    我正在使用以下方式来编写InputStream to File private void writeToFile InputStream stream throws IOException String filePath C Test jp
  • 使用颜色条在绘图中设置相同的纵横比

    我需要生成一个在两个轴上具有相同纵横比且在右侧具有颜色条的图 我尝试过设置aspect auto aspect 1 and aspect equal 没有好的结果 请参阅下面的示例和 MWE Using aspect auto 颜色条的高度
  • dojox 图表:删除图表周围的填充

    如何移动 dojox 图表周围的填充 这是一个例子 var chart1 new dojox charting Chart2D simplechart fill FFC0C0 chart1 addPlot default type Colu
  • 调用 NSTextField setStringValue: 后如何更新扩展工具提示大小?

    当视图包含NSTextField启用扩展工具提示且文本不适合 然后用户将光标悬停在该字段上 OS X 会显示扩展工具提示 如果你随后打电话setStringValue 更改文本内容NSTextField 扩展工具提示的大小不会更新 例如 如
  • 如何断言在 Symfony 中使用 Monolog 记录一行

    我在 Symfony2 中使用 Monolog 使用默认的 MonologBu ndle 我试图在我的测试中断言已记录一行 我已经在我的config test yml monolog handlers main type test leve
  • Groovy 中两个日期之间的持续时间

    Groovy 有没有办法获取两个 Date 对象之间的持续时间 我正在寻找的持续时间格式类似于 2 天 10 小时 30 分钟 Thanks 时间类别 http docs groovy lang org latest html api gr
  • Union-Find 或 DFS:哪个更适合查找连通分量?

    Union Find 和 DFS 都可以用来查找连接性 哪种情况下哪个更好 并查找算法最适合等价关系发生变化的情况 即需要对分区集执行 并集 操作 给定一个固定的无向图 等价关系根本不会改变 边都是固定的 OTOH 如果您有一个添加了新边的
  • 如何使用 mysqldump 仅导出 CREATE TABLE 命令?

    我正在尝试使用mysqldump仅导出数据库模式 没有数据 没有额外的 SQL 注释 只是CREATE TABLE命令 这是我到目前为止所得到的 mysqldump h localhost u root p no data compact
  • 在 Angular 6 中生成没有 *.spec.ts 的组件

    在以前的版本中 可以使用 angular cli json 禁用 spec ts 如下所示 有没有办法用 6 0 0 版本中的 angular json 来做到这一点 defaults component spec false servic
  • 在 wsdl 中哪里放置版本信息?

    我有一个 Web 服务 其中定义位于 wsdl 文件中 架构位于外部 xsd 文件中 在 xsd 文件中 有 schema 标记 它提供了一个属性 version 我可以用它来记录当前版本 wsdl 格式 WSDL 1 1 有类似的东西吗
  • 为什么我的 Ajax 调用的“等待”时间这么长? (Chrome 网络面板)

    我在页面上有一些 ajax 调用 请求一些 json 内容 在所有这些电话中 我等待响应完成的时间很长 对于每个呼叫 呼叫中都会有几秒钟的 等待 期 如下面的 Chrome 网络面板所示 我附上了一张图片 我不太确定是什么原因造成的 因为我