怎么做?
- 我们有带有onclick事件的按钮,它使用AJAX将查询发送到PHP文件。
- PHP 文件有这个 JavaScript:
echo '<script>alert("hello");</script>';
- 当按下点击事件按钮时,JavaScript 不起作用。我没有看到"你好"消息。
有人知道如何从PHP执行JavaScript吗?我正好需要这个。我知道所有的JavaScript都应该在AJAX级别执行。但是这种情况需要执行一个JavaScript,PHP作为响应返回。
此致敬意
你不能从PHP执行Javascript,因为PHP在服务器端执行,而JS在客户端执行。您需要在客户端eval
返回的 Javascript 代码。
您可以在 AJAX 回调函数中执行此操作:
$('#yourButton').onclick(function(){
//make your ajax request
$.ajax({
url : "url",
success : function(resp){
//resp is the javascript code sent back from PHP
//eval it
eval(resp);
}
})
});
Eval 可以工作,但要小心。
如果用户生成的内容可以进入您的 eval 语句,有人可能会使用它为您的网站创建恶意脚本。
只是抬头。
考虑一个像这样的JavaScript:
"alert('"hello'");"
像这样返回:
var js = ajax.r;
只需做:
eval(js);
但在我看来,你有一个非常严重的架构问题。