Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设计AJAX网站 当用Ajax设计网站时,需要考虑哪些事项?必须考虑条件,例如超时、错误处理_Ajax - Fatal编程技术网

设计AJAX网站 当用Ajax设计网站时,需要考虑哪些事项?必须考虑条件,例如超时、错误处理

设计AJAX网站 当用Ajax设计网站时,需要考虑哪些事项?必须考虑条件,例如超时、错误处理,ajax,Ajax,最佳实践?设计和编码时需要注意哪些参数?为未启用JavaScript的用户维护可用性,也称为“渐进增强”。我认为这可能会成为一个技巧协作,因此以下是我的经验 在使用AJAX和Internet Explorer时,我发现IE有时喜欢缓存请求的响应。因此,如果您发现请求在Firefox中工作,但在IE中不工作,这可能是罪魁祸首 解决方案很简单,只需向请求URL添加一个在大多数情况下完全不相关的额外参数。参数可以是任何您想要的,但是值需要不断变化并且总是不同的,我找到的最佳解决方案是使用日期/时间戳,

最佳实践?设计和编码时需要注意哪些参数?

为未启用JavaScript的用户维护可用性,也称为“渐进增强”。

我认为这可能会成为一个技巧协作,因此以下是我的经验

在使用AJAX和Internet Explorer时,我发现IE有时喜欢缓存请求的响应。因此,如果您发现请求在Firefox中工作,但在IE中不工作,这可能是罪魁祸首

解决方案很简单,只需向请求URL添加一个在大多数情况下完全不相关的额外参数。参数可以是任何您想要的,但是值需要不断变化并且总是不同的,我找到的最佳解决方案是使用日期/时间戳,因为时间总是递增的。对于视觉学习者,这里是一个例子

正常请求

http://example.com/controller/action?query=john

与IE合作的请求

第一个请求

http://example.com/controller/action?query=john&seed=1234567890

第二个请求

http://example.com/controller/action?query=john&seed=2345678901


这样做之所以有效,是因为IE将其视为一个新的URI,它以前从未捕获过,因此缓存中没有它的内容。

有几个不同的视图需要考虑:

  • 这里有一些——恐怕我用的不多,但它们会为您覆盖很多管道,并处理X浏览器兼容性问题
  • jQuery是一个非常常用的工具(因此可能对你的简历有好处)
  • 如果您在MS平台上,请使用ASP.NET AJAX
  • 滚动你自己的可以是有益的-但你只想做正确的理由
依赖关系

  • 哪些浏览器将使用该站点以及它们支持什么,所有旧的JavaScript X-Browser兼容性问题都适用
  • 一个好的框架应该在这方面有所帮助
  • 小心管理客户端代码和服务器端代码之间的依赖关系;您希望尽可能确保一致性,并且您希望避免硬编码的东西和在其他垃圾中烘焙,这些东西会随着时间的推移而使维护和更改变得困难
API/接口设计

  • 有些事情需要在服务器端处理AJAX调用:当您构建thios时,您正在构建一个您的应用程序(和其他应用程序)可以调用的API,因此请确保您花一点时间预先考虑它
  • 确保您考虑有用的设计模式和原则:(SRP),(ISP),(CRP)
安全性

  • 在网上发布ajaxapi有自己的一套安全措施,要小心
  • 不要信任用户/系统输入,请确保验证所有发送的呼叫
  • 不要忘记,您可以在站点的安全部分保护您的API(或其部分)。通过身份验证的Uuser也将通过身份验证,以使用以这种方式保护的任何AJAX接口
文档

  • AJAX本身并没有提供一种描述自身的方式(就像Web服务一样,通过WSDL);I'v esometime让服务器端interace提供信息,说明如果调用不正确,应该如何调用它,或者允许使用公共参数“Help”调用每个接口——调用时,它会返回您需要知道如何调用它的所有信息
  • 根据谁可以使用/调用API,您的方法会有所不同:它是只在公司局域网上工作的web应用程序的一部分,还是面向puiblic/www