API调用与来自前端的直接页面调用(AJAX)

时间:2014-11-09 14:36:34

标签: ajax django api crud

我正在尝试撰写一个“标准”商业网站。通过“标准”,我的意思是这个站点为前端运行通常的HTML5,CSS和Javascript,后端(处理东西),并为数据库运行MySQL。它是一个基本的CRUD站点:前端只是存储数据库中存储的任何内容;无论用户输入什么,后端都会写入数据库并进行一些处理。就像大多数网站一样。

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

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

接近这一点的正确方法是什么,请记住要显示的信息将由API提供

由于

1 个答案:

答案 0 :(得分:2)

我有一个类似的问题。首先,我认为这取决于您的企业是否计划创建本机移动应用程序等,以及是否需要获取与网站相同的数据。在这种情况下,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请求,因此实际数据的更多内容不会导致问题。