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

时间:2017-03-21 11:15:15

标签: javascript php

我有问题要返回写成php字符串的可调用函数。

在服务器端,我有:

return = [
    'options' => [
        'timeout' => 3000,
        'callback' => [
            'close' => 'function(){
                alert("Test");
            }'
        ]
    ],
]

在我的视图模型中:

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

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

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

1 个答案:

答案 0 :(得分:1)

这就是JSON的用途,即标准化数据。所以,如果你在php中有一个字符串,它也将被视为JavaScript中的字符串。

所以,你需要为它避免使用JSON。你需要单独echo这个没有JS字符串引号。喜欢:

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

这应该有效。或者,您可以使用eval()。但是,不建议使用eval,这不是一个好的做法。 See here.