AJAX的具体局限性?

时间:2010-02-22 22:51:12

标签: ajax

我仍然是AJAX和javascript的新手,但我慢慢地到了那里。

我有一个基于网络的应用程序,它严重依赖于mySQL,并且有个人用户帐户被访问,用户特定的数据填充了用户界面。

我正在努力摆脱当前加载新网页的标签式导航栏,因为页面之间的所有更改都是一个框内的信息。

问题是盒子需要从数据库等重新加载信息。

我得到了用户的大力帮助,表明我需要在ajax调用的php页面中调用数据库。

好的 - 请原谅冗长的介绍 - 我想知道的是ajax可以调用哪些我需要了解的具体限制? IE:有人提到最好不要调用脚本文件,我应该从正在调用的php页面中删除脚本并将它们保存在“父”页面中。我需要记住这样的其他任何事情吗?

澄清一下:我不打算讨论该技术的优点/缺点。我想知道我需要注意的特定编码实现(例如 - 我直到昨天才意识到即使我在页面上建立了mySQL连接,我还需要重新建立连接我的被​​叫页面......现在也很有意义。)

4 个答案:

答案 0 :(得分:3)

为ajax提供动力的XMLHttpRequest有许多限制。我建议刷一下same origin policy。这是一个关键的规则,因为它限制了AJAX调用的位置。

答案 1 :(得分:0)

恕我直言,最好将你的客户端javascript放在一个单独的页面然后导入它 - 整洁的容器。我之前遇到过的一件事是如何调用xml,其中包含要运行的代码,例如更多的javascript - 值得检查一下是否可能更早和避免,而不是看看evals。

Mildly interesting.

答案 2 :(得分:0)

首先,您不能在对AJAX调用的HTTP响应中嵌入Javascript。这是一个安全问题。

没有提及数据库的动态,但如果要在选项卡中显示的数据不必是实时的,为什么不在服务器端缓存呢?

答案 3 :(得分:0)

我发现像其他任何协议一样,Ajax在严格控制的条件下运行得最好。除非您发现使用页面上的“加载器”改善了用户体验,否则更新几乎整个页面都没有多大意义。没有进行解决方法,缺点将包括丢失浏览器后退按钮/历史记录,诸如朋友提到的问题之类的问题,以及嵌入式资源和其他丰富内容也会受到影响,并且只需要额外的复杂性来处理你的应用。不要将其视为您的应用程序的魔术酱 - 确保每次使用都能提供有益于您的客户/观众的特定结果。