ajax - API 调用与前端直接页面调用(AJAX)

标签 ajax django api crud

我正在尝试编写一个“标准”商业网站。我所说的“标准”是指该网站运行常见的 HTML5、CSS 和 Javascript 作为前端、后端(用于处理内容),并运行 MySQL 作为数据库。这是一个基本的 CRUD 站点:前端只是生成数据库存储的所有内容;后端将用户输入的任何内容写入数据库并进行一些处理。就像大多数网站一样。

所以,我想把它做成Django中的MTV结构(模型-模板- View )。我想问一下,当用户从前端(即模板)调用服务器时,应该通过API调用还是通过AJAX直接调用特定页面?

通过 API 执行将是模块化和干净的方式,但我猜相对较慢(但不确定)。

解决这个问题的正确方法是什么,请记住要显示的信息将由 API 提供

谢谢

最佳答案

我也有类似的问题。首先,我认为这取决于你的企业是否有计划创建原生移动应用程序等,以及是否需要获取与网站相同的数据。在这种情况下,REST API 将是最佳选择。在这种情况下,维护一个端点与数据交互比维护多个端点更简单,因此我也让网站通过 API 进行交互。这个diagram from tuts就体现了这一点。

enter image description here

我认为您看到了 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/

相关文章:

python - Django clean_fields 和必填字段

javascript - 如何获取调用函数的按钮的值 "value"

api - 如何使用 Softlayer 的票证 API 应用过滤器?

python - 如何在 python 中编写 for 循环以仅从 csv 文件中提取唯一值以加载到我的 API 脚本中?

javascript - 从 jQuery Ajax 方法返回值

javascript - Jquery UI 自动完成列表不刷新

javascript - 选择 + Bootstrap 4

python - Django 用户创建返回 "Key ' username' not found in 'CustomUserForm' "for custom user

javascript history.back 丢失搜索结果

javascript - 在不使用 AJAX 的情况下继续之前等待方法响应