REST API - JavaScript 还是 PHP?

4
使用REST API,我可以收到XML或JSON响应。例如,可以使用PHP或JavaScript(使用jQuery)。
我想知道不同语言的优缺点。到目前为止,我发现以下内容:
- PHP在需要稍后在服务器端使用数据时似乎比JavaScript更容易。 - 当使用外部URL获取数据时,JavaScript运行在客户端上,不会对服务器造成负载。

这个问题非常主观,所以我不会回答,而是投票关闭。话虽如此,我只想纠正一下前提中的几个错误。使用REST API,您可以获取API支持的任何类型的数据,REST并不自动意味着XML/JSON(尽管您使用的特定未指定的API可能仅限于这些数据格式)。JavaScript是一种通用编程语言,它不仅限于客户端 - Quentin
2个回答

6
Javascript调用REST API不会给您的服务器带来负担,如果REST API在外部域名(即不属于您的域名)上,则jQuery的ajax()调用提供了一种解决方法,允许您从外部域名获取数据。
如果满足以下情况之一,请使用PHP:
- 您想将API的输出保存在自己的数据库中。 - 您想定期调用API以获取更新,而不是让每个用户在查看使用它的页面时都调用它。如果您每天有成千上万的页面浏览量,但API的数据仅每月更改一次,则可以节省昂贵的调用。 - 如果您需要向API进行POST操作。您无法使用Javascript将POST请求发送到另一个域名。 - 您想对数据进行重要分析,或者想随时间分析多个API调用的数据。
如果满足以下情况之一,请使用Javascript:
- API提供实时数据,每次页面查看都需要查询该数据。 - 您正在使用Ajax更新您的网页。

3
忽略其他服务器端语言,当您创建自己的REST API时,最常见的方法是使用PHP作为后端JavaScript作为客户端。但也有可能在后端编写JavaScript(学习使用Node.js进行服务器端JavaScript)。

JavaScript在客户端运行,使用外部URL获取数据时不会对服务器造成负载。

如果我理解您的问题正确,那只是其中一半的真相。如果您需要从外部源获取数据,则由于同源策略,JavaScript将无法这样做。但是有许多加载来自其他源的数据的可能性,例如ajax代理(使用您的后端作为桥梁)或JSONP。

不,那不是我的意思。"忽略任何其他服务器端语言...",我只关注于PHP和JavaScript。 - Sascha Galley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接