AJAX、PHP 会话和同时请求[关闭]

2024-01-25

我就直接进入正题吧!

当用户提交搜索时,我的 javascript 向我的 PHP 文件发送大约 20 个 AJAX 请求以进行响应(通过外部 Web API)。结果存储在会话数组中的数组中。

我读到浏览器只允许同时向服务器发出 2 个请求。

我的第一个问题是,虽然仍有多个请求仍在等待响应,但 AJAX“添加到购物篮”请求将无法工作,因为它仍在等待其他请求完成。

我的第二个(也是更烦人的)问题是,同时处理的两个请求似乎互相过度写入,因此当所有响应完成时,只有一半在会话数组中。要么全部奇数,要么全部偶数,取决于最终请求是奇数还是偶数。

我不想单独发送请求(即仅在最后一个请求完成后才发送下一个请求),因为这会稍微减慢用户的速度。

是否有解决此会话覆盖的解决方案,或者我应该使用完全不同的方法?

谢谢大家!


Edit:
It's for checking domain availability. The user searches for "mydomain" and results for com, net, org, etc are eventually presented.

发送单个请求并让脚本一次性搜索所有 tld 意味着在所有结果都输入之前不会返回响应。某些 tld 的结果似乎需要长达 30 秒以上的时间,在此期间用户没有收到任何反馈保存为漩涡状图标和“请稍候”(这是未启用 JavaScript 时发生的情况)。

单独的请求允许我在域进入时显示域的可用性。

我目前正在考虑发送单个请求,然后使用 javascript 的 setinterval 重复检查会话,直到所有结果都输入。


我认为你应该开始重构你的解决方案:

  1. 所有性能指南都规定您应该最大限度地减少 HTTP 请求的数量。 20 太多了
  2. 如果您有共享资源,则需要锁定并解锁您操作它的部分,以防止两个或多个请求同时更新它
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AJAX、PHP 会话和同时请求[关闭] 的相关文章

  • 在 php 中为类自动生成 getter 和 setter 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常创建一个包含一些私有变量的类 当设置此类的实例时 应该可以使用 getter 和 setter 填充该类的所有变量 有没有一种简单的方法可
  •  
    标记内删除

    我制作了简单的 BBCode 脚本 一切正常 但后来我使用了一个 javascript 库来美化我的代码 pre pre 现在我面临的唯一问题是 br 每行代码后面的标签 pre pre tags 所以问题是我怎样才能删除 br 标记哪些在
  • PHP严格标准:声明应该兼容

    我有以下类层次结构 class O Base class O extends O Base abstract class A Abstract public function save O Base obj class A extends
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • JSF - 在 ajax 调用上传递参数 - 这段代码有什么问题?

    当我进行 ajax 调用时 我需要将参数传递给 bean 我的豆子是这样的 ManagedBean RequestScoped public class Selector ManagedProperty value param page p
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • PHP 脚本可以在终端中运行,但不能在浏览器中运行

    我正在尝试执行exec命令 但我遇到了问题 当我运行以下代码时 当我通过浏览器运行它时它不起作用 但如果我把输出 str将其复制并粘贴到终端中 它工作得很好 造成这种情况的原因是什么 我该如何解决 目前我正在运行localhost php
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • PHP 中只保留数组的前 N ​​个元素? [复制]

    这个问题在这里已经有答案了 有没有办法只保留数组的前 N 个 例如 10 个 元素 我知道有array pop 但是有没有更好 更优雅的方法呢 您可以使用array slice http php net array slice or arr
  • 使用 Ajax.Request 将 JSON 从浏览器传递到 PHP 的最佳方法

    您好 我有一个 JSON 对象 它是一个二维数组 我需要使用 Ajax Request 将其传递给 PHP 我知道的唯一方法 现在我使用js函数手动序列化我的数组 并获取以下格式的数据 s 1 d 3 4等 我的问题是 有没有办法更直接 有
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • Laravel 中只向登录用户显示按钮

    如果我以 John 身份登录 如何才能只显示 John 的红色按钮而不显示 Susan 的红色按钮 测试系统环境 Win10 Laravel5 4 Mysql5 7 19 table class table table responsive
  • 使用正则表达式提取两个短语之间的所有单词[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下正则表达式提取两个短语之间的所有单词 b item W w W 0 2 1 one W w W 0 3 business b b item W w W 0 2 3 three W w W 0 3
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • HTML5 - 如何获取图像尺寸

    我有这个脚本 它用于获取浏览器上传图像的宽度和高度 参考 http renevier net misc resizeimg html http renevier net misc resizeimg html function create
  • 文本框 asp.net 回发在 autopostback true 上触发两次

    在文本框 OnTextChanged 事件上 回发周期触发两次 两种方法都设置断点来理解问题 这是我的代码示例
  • Pyspark 数据框:对一列进行求和,同时对另一列进行分组

    我有一个如下所示的数据框 In 94 prova df show order item order id order item subtotal 1 299 98 2 199 99 2 250 0 2 129 99 4 49 98 4 29
  • 是否可以排除 apache 访问日志中指定的 GET 参数?

    我需要排除 apache 日志中的一些敏感详细信息 但我想保留日志和 uri 是否可以在我的访问日志中实现以下目标 127 0 0 1 27 Feb 2012 13 18 12 0100 GET api php param secret H
  • 环境/开发资产路径的副本在 gems 目录中找不到 jquery-ui-rails

    我将 config environments development rb 复制到 config environments ci rb 当我使用 RAILS ENV development 运行时 资产搜索路径包括我的 gem 供应商目录
  • 在 Vulkan 中重新绑定图形管道是否保证无操作?

    在简化的场景中 每个要渲染的对象都被转换为辅助命令缓冲区 并且每个命令缓冲区最初都绑定一个图形管道 是否可以保证无操作来绑定之前立即绑定的管道 或者辅助命令缓冲区的执行顺序根本无法保证 是否可以保证无操作来绑定之前立即绑定的管道 不 事实上
  • Null/Object 和 Null/Null 比较效率

    这个问题 https stackoverflow com questions 17143549 java null check syntactical difference 17144070 17144070引导我做一些测试 public
  • XmlDocument SelectNodes(Xpath):结果的顺序

    这是来自 MSDN 的 xml 示例
  • 使用 AddAzureKeyVault 使我的应用程序慢了 10 秒

    我有一个非常简单的 NET Core 应用程序 static void Main string args var builder new ConfigurationBuilder SetBasePath Directory GetCurre
  • 是否可以在非 Spa 应用程序中使用 Aurelia?

    最近 我一直在尝试不同的框架和库 寻找真正适合我需求的东西 你看 我的工作主要涉及创建 asp net mvc 应用程序 对于大多数应用程序来说 使用 Razor 和一点 jQuery 就足够了 但在某些情况下 并且只有几页 每个应用程序很
  • CSS 不支持从数字开始的 id 和类是否有原因?

    我注意到如果 id 或 class 从数字开始 则不应用 css 属性 例如 以下任何一个都不起作用 1ww some properties here and 1 some properties here and 1 some proper
  • Flutter:在子部件的状态上调用函数

    我创建了一个有状态小部件 其父小部件需要调用位于子状态中的函数 具体来说 我有一个 PlayerContainer 类 它创建一个 VideoPlayer 并具有 VideoPlayerController 的成员变量 当我按下播放按钮时
  • 复制 Google 电子表格 + 在脚本中与相同用户共享

    我已经在互联网上搜索了几天 但似乎找不到解决我的问题的方法 我的编程知识有限 但如果我能让它发挥作用 它将会做出奇妙的事情 说明 我需要使用电子表格 A 内的脚本制作模板电子表格的副本 并将模板的所有权限复制到副本中 特别是名称和受保护范围
  • NSParagraphStyle defaultParagraphStyle 没有效果

    尝试设置 NSTextView 的段落样式 我在这里做错了什么 或者可能把代码放在错误的地方 我的 NSTextView 的子类中有这段代码 这不会以任何方式影响我的文本视图 class EditorTextView NSTextView
  • 使用 JGit 确定前后提交的数量

    在 GitHub 项目中 当我们转到任何分支页面时 我们可以看到描述分支的提前 延迟提交编号的图表 掌握 我们如何使用 JGit 确定数字前面的数字 I used BranchTrackingStatus为此类 但我得到BranchTrac
  • 将一个符号向后排列,Haskell [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我如何将一个符号重新排列回来 我有一个给定的字符串 abcdpqrs 其中输出为 badcqpsr 我当前的代码 f s foldr a x
  • 100% 内存 HSQL 数据库

    我有一个 Java 应用程序设置为服务 每隔几个小时对大约 3GB 的数据进行数据挖掘 我希望这 100 发生在记忆中 理想情况下 我希望应用程序与所有事物隔离 我希望它构建数据库 进行我需要的挖掘 并在完成后拆除数据库 然而 对于 HSQ
  • 如何在单引号中使用 bash 变量

    我的 bash 代码如下 payload text failure with VAR failed for 但变量未解析为实际值 请不要给出否定 因为我在 Bash 方面没有太多经验 变量不会在单引号中扩展 这意味着您只需确保它们不是单引号
  • MKMapView 完全缩小时的缩放问题

    我通过单击按钮缩小地图 因此 当地图完全缩小时 如果我尝试再次缩小它 那么它在设置区域时会崩溃 不确定 但是有什么方法可以检测地图是否达到最大缩放限制吗 这是我缩小地图的代码 void setZoomLevelForNoPicksCurre
  • AJAX、PHP 会话和同时请求[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我就直接进入正题吧 当用户提交搜索时