如何在 Cakephp 中调用模型或控制器中的 javascript 函数


How can I call javascript function in Model or Controller in Cakephp?

我必须从我的模型或控制器调用一个javascript函数。我可以从视图文件中调用它,但是如何直接从模型调用JS函数。

有没有办法做到这一点?

PHP 是一种服务器端语言。这意味着PHP文件将在HTTP服务器上进行处理,然后将生成的HTML页面交付给客户端。

Javascript(JS)在客户端(浏览器)上解释,并与HTML和其他远程资源接口。

由于这个模型,PHP和JS彼此一无所知。因此,直接从PHP文件调用JS是不可能的。

如果您希望使客户端浏览器调用JS函数,并且PHP脚本定义了JS函数的值,则可以使用echo()和一些字符串连接

//this is an example and will not run.    
echo "<script>myJsFunction('" . $arg1 . "','" . $arg2 . "')</script>";

这会将 JS 函数调用嵌入到返回到客户端的 HTML 页面中。一旦客户端呈现 HTML 页面,它将在遇到它时执行函数调用。

如果你能举个例子来说明你想做什么,我也许能给你一个更准确的答案。

有关客户端服务器体系结构的更深入说明以及执行位置,请查看 Web 浏览器客户端服务器体系结构

不,尝试理解 MVC 模式,这个想法是模型不知道视图,也不必知道。此外,您不能使用 php 调用 JS,php 是一种服务器端语言,对客户端脚本一无所知。

你想要的是实现长轮询。我建议您在尝试实现某些内容之前学习和阅读所涉及的基本技术。

  • http://en.wikipedia.org/wiki/Push_technology
  • http://en.wikipedia.org/wiki/Comet_%28programming%29