是否可以使用Ajax调用从PHP运行JavaScript函数。
例如,如果我在php中有一个带有ajax调用的html页面。 ajax帖子被发送到php引擎:
的index.php
<script>
Ajax.post('http://example.com/ajaxEngine.php', { data: "someData" });
</script>
然后在PHP引擎中,我可以运行这样的JavaScript函数:
ajaxEngine.php
<?php
$data = $_POST['data'];
?>
<script type="text/javascript">
var php_var = "<?php echo data ?>";
function doSomething(php_var) {
// do something with data
}
</script>
最后,如果JavaScript函数需要返回一个值,那么你将如何将其转移回php?我可以发布到同一页面然后用PHP作为变量吗?
答案 0 :(得分:1)
简短回答:不。
您在ajaxEngine.php中的代码只会输出该javascript片段。这将被转移回您的页面,因此您可以将其插入脚本标记或评估它,如果您希望它执行。但这将发生在客户端而不是在您的服务器上。但是,该脚本将具有来自php的动态数据。所以如果这就是你需要的一切,那就会这样。
注意:那不会隐藏你的脚本。任何客户都可以看到它。
答案 1 :(得分:0)
尝试此功能
function includetext(text,onlyone)
{
var d=document.createElement('script');
if(onlyone)
{
var ds=document.getElementById('onlyonesscript');
if(ds)
removeElement(ds);
d.id='onlyonesscript';
}
d.innerHTML=text;
document.body.appendChild(d);
}
text
- 从ajax返回脚本文本。
onlyone
仅用于一个脚本节点,这对您有帮助。
ajax Engine.php
<?php
$data = $_POST['data'];
?>
var php_var = "<?php echo data ?>";
// do something with data