将函数从PHP传递给JS

时间:2014-07-30 08:42:24

标签: javascript php jquery

我创建了一个jQuery插件,它以对象的形式获取选项。如果我初始化了对象客户端,我会做类似的事情

$(selector).myPlugin({
    opt: value,
    id: 2,
    onclose: function () {},
});

我的功能会将选项解释为

1. {opt: string(value), id: int(2), onclose: function () {}}

但是,插件声明是服务器端的,我使用json_encode将PHP关联数组转换为插件选项所需的对象。这里的问题是我的插件将声明识别为

2. {opt: string(value), id: string(2), onclose: string(function () {})}

我想知道的是如何以JS将其解释为 1

的方式从PHP传递该关联数组

1 个答案:

答案 0 :(得分:0)

在将数组编码为JSON之前,将id值转换为int

$opts = array(
    'opt' => 'value',
    'id' => '2',
    'onclose' => 'function() {}'
);

$opts['id'] = (int)$opts['id'];

echo json_encode($opts);

如果你在构造id数组之前/期间投射$opts的值,那就更好了。