我有问题要返回写成php字符串的可调用函数。
在服务器端,我有:
return = [
'options' => [
'timeout' => 3000,
'callback' => [
'close' => 'function(){
alert("Test");
}'
]
],
]
在我的视图模型中:
<?php echo '<script type="text/javascript">$.jQueryPlugin.defaults = '.json_encode($arrayFromAbove).'</script>';?>
但它不起作用,因为回调是作为字符串而不是可调用的js函数返回的。
任何建议如何将字符串转换为可调用的js函数?
答案 0 :(得分:1)
这就是JSON的用途,即标准化数据。所以,如果你在php中有一个字符串,它也将被视为JavaScript中的字符串。
所以,你需要为它避免使用JSON。你需要单独echo
这个没有JS字符串引号。喜欢:
$.jQueryPlugin.defaults.callback.close = <?php echo $arrayFromAbove['options']['callback']['close']; ?>;
这应该有效。或者,您可以使用eval()
。但是,不建议使用eval,这不是一个好的做法。 See here.