以下是这些部分如何组合在一起的广泛概述:
服务器与客户端
要理解所有部分,您需要了解服务器和客户端之间的区别。
当您通过在浏览器的地址栏中输入地址、单击链接等方式打开网页时,您的网络浏览器会向另一台计算机发送请求,该计算机位于存储您想要的网页的其他位置。它本质上是向那台计算机询问网页,然后那台计算机决定你得到什么。我们将这台计算机称为“服务器”,因为它正在为您“服务”网页。
一旦服务器完成了它需要做的任何处理,它就会将页面发送回您的浏览器。然后,您的浏览器会解释您返回的数据并以漂亮的方式显示给您(假设网页设计师做得很漂亮)。我们将您的浏览器称为“客户端”。
现在对于您询问的特定技术:
PHP
PHP 被称为“服务器端”语言。这意味着它在服务器上运行以帮助生成将发送回浏览器的网页。它在您的浏览器看到它之前运行。
JavaScript
JavaScript 被称为“客户端”语言。它在您的浏览器中运行,改变事物,加载新信息,使页面具有交互性。它在页面加载之前永远不会运行(有时在页面加载时,但在您的浏览器开始解释页面之前永远不会运行)。需要记住的重要一点是,PHP 可以在它生成的 HTML 中生成 JavaScript,因为无论如何,这就是 JavaScript 所在的地方。
JSON
JSON 是代表“JavaScript Object Notation”的首字母缩写词。JSON 不是一种语言;它是 JavaScript 的一个元素。JSON 什么都不做;它是一种以有组织、有用的方式表示数据的方法。
PHP 可以在 JavaScript 块中“打印”一个 JSON 对象,作为一种以有用的格式将数据直接传递给客户端的方式。可以使用诸如 之类的函数将 PHP 对象“转储”为 JSON json_encode()
,一般来说,该函数返回复杂数组或对象的 JSON 表示。
请注意,JSON 不仅仅是一个数组。请进一步调查。
AJAX
AJAX 是代表“异步 JavaScript 和 XML”的另一个首字母缩写词。(这是一个有点误导性的名称,因为 XML 不一定是该过程的一部分,而且现在变得越来越少见,所以不要担心名称的那一部分。)
简而言之,AJAX 本身也不是一门语言。它更像是 JavaScript 中的一种技术,可以从服务器请求更多信息/数据,而无需重新加载整个网页。
正如您所说,AJAX 更常见的用途之一是从服务器请求 JSON 对象。这绝不是 AJAX 的唯一用途,但它是一种常见的用途,尤其是在交互式应用程序中。
优先事项
简短的回答:PHP 出现在 JavaScript 之前,因为它存在于服务器上;JSON 和 AJAX 是 JavaScript 语言的元素,因此它们发生在 JavaScript 中,在浏览器中。
每当您的 JavaScript 进行 AJAX 调用以从服务器请求一些 JSON 时,PHP 将成为用于解释请求并将 JSON 发送回浏览器的语言,这是一个很好的变化。
--
希望这会有所帮助。您应该查看Zend和Mozilla Developer Network等资源。以下是一些不错的起点: