就PHP而言(或者实际上是一般的Web服务器),HTML页面并不比大字符串复杂。
您可以使用PHP等语言完成所有奇特的工作 - 从数据库和Web服务中读取所有这些 - 最终目标是完全相同的基本原则:生成一串HTML *。
在Web浏览器加载之前,您的大HTML字符串不会变得比这更特别。 一旦浏览器加载页面,那么所有其他魔术就会发生 - 布局,盒子模型,DOM生成以及许多其他事情,包括JavaScript执行。
所以,你不“从PHP调用JavaScript”,你“在输出中包含一个JavaScript函数调用”。
有很多方法可以做到这一点,但这里有几个。
仅使用PHP:
echo '
'jsfunction();',
''
;
从php模式转到直接输出模式:
// some php stuff
?>
jsFunction();
您不需要返回函数名称或类似的东西。 首先,停止手动编写AJAX请求。 你只会让自己变得困难。 获取jQuery或其他优秀框架之一。
其次,了解一旦从AJAX调用收到响应,您已经将执行javascript代码。
这是我认为你正在用jQuery的AJAX做的一个例子
$.get(
'wait.php',
{},
function(returnedData) {
document.getElementById("txt").innerHTML = returnedData;
// Ok, here's where you can call another function
someOtherFunctionYouWantToCall();
// But unless you really need to, you don't have to
// We're already in the middle of a function execution
// right here, so you might as well put your code here
},
'text'
);
function someOtherFunctionYouWantToCall() {
// stuff
}
现在,如果您在将函数名称从PHP发送回AJAX调用时已经死定,那么您也可以这样做。
$.get(
'wait.php',
{},
function(returnedData) {
// Assumes returnedData has a javascript function name
window[returnedData]();
},
'text'
);
*或JSON或XML等。