Javascript 如何将php字符串转换为可调用的js函数

Javascript 如何将php字符串转换为可调用的js函数,javascript,php,Javascript,Php,我无法返回以php字符串编写的可调用函数 在服务器端,我有: return = [ 'options' => [ 'timeout' => 3000, 'callback' => [ 'close' => 'function(){ alert("Test"); }' ] ], ] 在我的视图模型中: <?php echo

我无法返回以php字符串编写的可调用函数

在服务器端,我有:

return = [
    'options' => [
        'timeout' => 3000,
        'callback' => [
            'close' => 'function(){
                alert("Test");
            }'
        ]
    ],
]
在我的视图模型中:

<?php echo '<script type="text/javascript">$.jQueryPlugin.defaults = '.json_encode($arrayFromAbove).'</script>';?>

但它不起作用,因为回调是作为字符串而不是可调用的js函数返回的


有没有建议如何将字符串转换为可调用的js函数?

这就是JSON的用途,即标准化数据。因此,如果您在php中有一个字符串,那么它在JavaScript中也会被视为一个字符串

因此,您需要避免使用JSON。您只需
单独回显
,而不使用JS字符串引号。比如:

$.jQueryPlugin.defaults.callback.close = <?php echo $arrayFromAbove['options']['callback']['close']; ?>;
$.jQueryPlugin.defaults.callback.close=;

这应该行得通。或者,您可以使用
eval()
。但是,不建议使用eval,也不是一个好的做法

请将生成的JavaScript代码粘贴到浏览器上,我想这是