php – 在保持良好用户体验的同时调用10个API的最佳解决方案?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 在保持良好用户体验的同时调用10个API的最佳解决方案?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1979字,纯文字阅读大概需要3分钟。
内容图文
![php – 在保持良好用户体验的同时调用10个API的最佳解决方案?](/upload/InfoBanner/zyjiaocheng/743/cb87688556434b1eafc68832bdc2e76d.jpg)
我有一个类似于Expedia和Priceline的网站.用户输入日期,然后调用10个不同的API来返回结果.从所有10个结果中获取结果(有时)最多需要90秒.
我想要的是在用户等待结果时显示的启动/加载屏幕(类似于Priceline).
我已经尝试使用jQuery Ajax来调用API并生成结果,但是有些浏览器会遇到问题(当结果不够快时锁定).
我在LAMP环境中,我想过使用cronjob来处理API并将结果保存在数据库中,但我不确定它会有多实用.
解决方法:
>所有ajax调用都需要异步,因此用户界面保持活动状态.这应该是显而易见的,但既然你提到了浏览器锁定,我想我最好提一下.
>您可能需要了解浏览器是否对浏览器允许的并发ajax调用数量有任何浏览器窗口限制.如果他们这样做并且数量少于你想要的数量,你将不得不重新考虑事情.
>你肯定想在等待结果时提出一些“加载结果…”类型的指标.
>如果您的数据是可以显示渐进结果的数据类型(例如,当每个ajax调用返回时显示一些新信息),那么用户会觉得该功能比您在显示之前等待所有10个完成时更具响应性任何东西.
>对于任何事情,只要您的电话正在进行,用户应该有一种简单的方法来停止交易并返回您站点中的有用位置(无需杀死浏览器窗口或离开您的站点).你甚至想要不耐烦的用户至少再试一次而不是离开.
>如果您在同时连接上遇到浏览器模拟,则可能希望让服务器代理请求.向您的服务器发送少量请求,然后根据需要触发尽可能多的请求并返回整理的数据.
>如果请求的数据可以在服务器上有效地缓存或预取,而不会影响准确性,那么这可能真的有助于提高性能.
>确保您处理ajax调用的所有错误条件,以便用户体验至少允许用户再次尝试,或者最好继续使用较少的结果,如果某些连接不起作用.
>了解ajax代码中所有连接超时的设置,并确保它们适合您的应用程序.如果默认连接超时时间不足以封装大多数ajax调用,则可能需要延长它.
>设计一个或多个ajax调用失败的情况.了解您的应用程序将会发生什么,并测试该条件,以确保所需的用户体验真正有效.
>请注意(当使用异步Ajax调用时)用户可以与您的页面进行交互,因此您可能需要禁用,隐藏或以其他方式阻止与异步调用期间不应忽略的页面部分的交互.
>前一点的另一面是您可能希望在等待异步调用完成时允许某些类型的交互.例如,您可能希望允许用户改变主意并开始新请求.你可能希望他们在等待的过程的下一步中与某些东西进行交互,等等……基本上,你可以在等待进度信息,部分结果或其他工作的同时提供它们. ,他们会注意到或者在等待的时间越少.
内容总结
以上是互联网集市为您收集整理的php – 在保持良好用户体验的同时调用10个API的最佳解决方案?全部内容,希望文章能够帮你解决php – 在保持良好用户体验的同时调用10个API的最佳解决方案?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。