这不是 PHP 的工作方式。您犯了一个很多初学者都会犯的常见思维错误,因为您似乎认为像 Javascript 这样的客户端语言可以以这种方式与像 PHP 这样的服务器端语言交互。这是由于对客户端/服务器和/或请求/响应模型的误解。
当您使用浏览器(客户端)请求网页时,您的请求由网络服务器(服务器)处理,然后返回响应,基本上如下所示:
Client (browser) Server (webserver)
---------------------------------------------------
Send page request -----> Parse request
(execute PHP)
|
\|/
Parse HTML response <----- Send HTML response
(and execute (there will be no
Javascript, more PHP code in
if that was part this response)
of the response)
换句话说:客户端和服务器是两个完全分离的进程,它们仅根据请求/响应原则相互通信。
PHP 不能在客户端执行(除了客户端版本 PHP-GTK,我们这里不讨论),Javascript 不能在服务器端执行(除了服务器端版本的 Javascript,它我们这里不讨论)。domaincheck
因此,客户端将无法调用PHP 函数,服务器也不会接收到 Javascript 调用。
因此,如果您不想再次请求完整的网页,而只是请求 Javascipt 函数并接收 PHP 函数的输出,则必须让 Javascipt 再次向服务器发出另一个请求('in背景',意思是:没有完全替换浏览器中的整个页面),并让 PHP 再次创建响应,这次是 Javascript 可以处理的输出。这通常称为AJAX(异步 JavaScript 和 XML)。尽管响应不一定是 XML。JSON响应非常常见。HTML 的片段(甚至完整的 HTML 页面)也是可能的。
在不久的将来,我可能会为您添加一个示例。