0

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

开始发生的是 PHP 首先执行最旧的请求,然后继续执行较新的请求。所以请求 1 在 1-3 秒内完成,但请求 25 超过 12-20 秒。

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

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

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

4

1 回答 1

0

(恕我直言)你唯一能做的就是尝试消除额外的请求。例如,如果 ajax 请求只是获取拍卖还剩多少时间,则请求一次并根据返回的数据构建一个计时器,这样您就不必继续发送请求。尽可能跳出框框思考。如果您可以一次获取数据并最终模拟 ebay 的行为,则可以保存请求。另外,请查看 ajax 推送引擎。您也许可以将其中一些数据推送到您的应用程序,而不是拉取它。因此,如果一个项目已经结束,您可以在不循环 ajax 请求的情况下获取该信息。

于 2012-12-24T00:07:54.580 回答