我正在尝试编写一个“标准”商业网站。我所说的“标准”是指该网站运行常见的 HTML5、CSS 和 Javascript 作为前端、后端(用于处理内容),并运行 MySQL 作为数据库。这是一个基本的 CRUD 站点:前端只是生成数据库存储的所有内容;后端将用户输入的任何内容写入数据库并进行一些处理。就像大多数网站一样。
所以,我想把它做成Django中的MTV结构(模型-模板- View )。我想问一下,当用户从前端(即模板)调用服务器时,应该通过API调用还是通过AJAX直接调用特定页面?
通过 API 执行将是模块化和干净的方式,但我猜相对较慢(但不确定)。
解决这个问题的正确方法是什么,请记住要显示的信息将由 API 提供
谢谢
最佳答案
我也有类似的问题。首先,我认为这取决于你的企业是否有计划创建原生移动应用程序等,以及是否需要获取与网站相同的数据。在这种情况下,REST API 将是最佳选择。在这种情况下,维护一个端点与数据交互比维护多个端点更简单,因此我也让网站通过 API 进行交互。这个diagram from tuts就体现了这一点。
我认为您看到了 API 的简单性和模块化,所以最后您的问题是效率以及让您的网站向自己的 API 发出 HTTP 请求而不是直接与模型交互是否浪费。关于这一点,我认为不必担心(或者不应该担心,除非您的 API 调用很大并且成为应用程序的瓶颈)。
围绕自己的 API 构建前端的方法似乎适用于 Twitter(阅读 "The Tech Behind the New Twitter.com" )和 TripAdvisor("TripAdvisor Architecture - 40M Visitors, 200M Dynamic Page Views, 30TB Data" )等。归根结底,今天的单个页面加载可能需要数十到数百个 HTTP 请求,因此实际数据的更多请求不会造成问题。
关于ajax - API 调用与前端直接页面调用(AJAX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26829318/