gpt4 book ai didi

javascript - JavaScript 何时何地运行,那么 PHP 呢?我可以将两者结合起来吗?

转载 作者:可可西里 更新时间:2023-11-01 01:55:09 25 4
gpt4 key购买 nike

什么时候运行像 JavaScript 这样的客户端语言,什么时候运行像 PHP 这样的服务器端语言?如何混合两者?

我想在我网站上的按钮被点击时运行一个 PHP 函数,或者从 PHP 运行一个 JavaScript 函数;这可能吗?

最佳答案

简短的回答是。您不能从 JavaScript[AJAX 除外] 运行 PHP 函数,也不能从 PHP 运行 JavaScript 函数。两个运行时是分开的。

如何?

要了解 JavaScript 和 PHP 如何协作,您应该首先了解为网络提供支持的 HTTP 协议(protocol)的基础知识。

HTTP Sequence

上图演示了 HTTP 协议(protocol)的基础知识。用户(您)要求客户端(您的浏览器)为您获取一个页面。然后浏览器将向服务器(在本例中为 Google)请求该页面。服务器将回复一个 HTML 页面,客户端解析该页面,并请求正确加载页面所需的图像、字体和任何其他资源。然后客户端将完成的页面呈现给用户。

那么 JavaScript 是从哪里来的呢?

JavaScript 在客户端(即浏览器)中运行。所以 JavaScript 在服务器响应到达后运行。让我们将其添加到图表中。

Sequence with JavaScript

JavaScript 脚本在加载后立即开始运行,如果它们有事件监听器等待来自用户的事件(例如单击、键入或四处移动),它们将继续运行。 p>

PHP 适用于哪些领域?

PHP 在服务器上运行,Web 服务器(负责提供 Web 内容的程序)将根据其配置运行 PHP。 PHP 将处理来自 Web 服务器的输入,并返回输出。该输出返回给客户端。

更新图:

Sequence with JavaScript and PHP

如您所见,PHP 执行不会持续。它被执行,然后在发送响应后结束。


如您所见,PHP 执行和 JavaScript 执行之间没有重叠,因此实际上不可能使其中一个函数基于另一个输入来工作。

但是..但是..我听说过 AJAX!

AJAX 只是引起另一个 来自 JavaScript 的 HTTP 请求。您可以将其称为从 JavaScript 使用 PHP 函数的方式,但实际上并非如此。

AJAX Sequence

如您所见,使用 AJAX,JavaScript 将向服务器发送请求,服务器将调用 PHP,PHP 将再次运行,就像在正常请求中一样(PHP 不一定知道这是一个 AJAX 请求! ) 并且服务器将响应返回给 JavaScript,JavaScript 使用它来做一些事情。

在这种情况下,PHP 运行时间和 JavaScript 运行时间之间存在重叠,因为 JavaScript 调用了请求。

另见:

关于javascript - JavaScript 何时何地运行,那么 PHP 呢?我可以将两者结合起来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25093905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com