从一个客户机向PHP发出多个AJAX请求

Multiple AJAX requests to PHP from 1 client

本文关键字:PHP AJAX 请求 客户机 一个      更新时间:2023-09-26

我有一个应用程序,通过jQuery发送多个请求到PHP。Post和每个都有不同的参数。PHP脚本是从eBay API请求数据,需要1-3秒才能完成。来自客户端的AJAX请求快速连续发出,然后在完成或错误后立即再次请求。

开始发生的是PHP首先执行最老的请求,然后再执行较新的请求。所以请求1在1-3秒内完成,而请求25则需要12-20秒。

可以做些什么来缓解这些问题?

EDIT:一次不发送这么多请求不是一个选项。每个请求都要求eBay提供特定的信息,并且需要尽可能接近实时。

EDIT_2:我知道PHP按照收到请求的顺序处理请求,并不认为这是不正确的行为。我的问题是,是否有可能绕过这种行为,使PHP并行执行脚本,而不是串行执行。

你唯一能做的就是尝试消除额外的请求。例如,如果ajax请求只是获取拍卖的剩余时间,则请求一次并根据返回的数据构建计时器,这样就不必不断发送请求。尽可能跳出思维定势。如果您可以获取一次数据并在您的终端上模仿ebay的行为,则可以保存请求。另外,研究一下ajax推送引擎。你也许可以将其中一些数据推送到你的应用中,而不是拉出它。因此,如果一个项目已经结束,您可以获得该信息,而无需循环ajax请求。