0

我想将我在 PHP 文件中的一个数组传递给另一个用 java 脚本编写的文件。这是我的数组:

$pictures = array(
"1" => array("caption" => "1920x1200px", "tag" => "wallpaper", "link" => "#"),
);

在我的 java 脚本文件中,这是我要调用数组的地方:(在我编写 TAG、LINK 和 CAPTION 的代码中它们应该位于的地方。对不起,如果这是一个愚蠢的问题,但如你所见,我对 PHP 和 java 脚本一无所知)

F.helpers.title = {
    beforeShow: function (opts) {
        var text = F.current.title,
            type = opts.type,
            title,
            target;

        if (!isString(text) || $.trim(text) === '') {
            return;
        }

        title = $('<div class="fancybox-title fancybox-title-' + type + '-wrap"><h1>' + text + '</h1><p>CAPTION</p></div><div class="fancybox-title fancydownload" ><a href="LINK"><img src="../../../slider/img/download.png" alt=""/></a></div><div class="fancybox-title fancytag"><h2>TAG</h2></div>');

        switch (type) {
            case 'inside':
                target = F.skin;
            break;

            case 'outside':
                target = F.wrap;
            break;

            case 'over':
                target = F.inner;
            break;

            default: // 'float'
                target = F.skin;

                title
                    .appendTo('body')
                    .width(title.width()) //This helps for some browsers
                    .wrapInner('<span class="child"></span>');

                    //Increase bottom margin so this title will also fit into viewport
                    F.current.margin[2] += Math.abs(     getScalar(title.css('margin-bottom')) );
            break;
        }

        if (opts.position === 'top') {
            title.prependTo(target);

        } else {
            title.appendTo(target);
        }
    }
};
4

5 回答 5

0

尝试使用 JSON。有很多可用的 JSON 解析器

于 2012-09-09T12:46:48.067 回答
0

将其编码为 JSON 以将其转换为 JavaScript 文字,然后正常访问结果值。

var data = <?php echo json_encode(array('foo' => 'bar')); ?>;
console.log(data['foo']);
于 2012-09-09T12:48:18.507 回答
0

PHP 脚本(在服务器端)的生命周期与 JS(在客户端)的生命周期不同。如果您想将一些信息从 PHP 传递到客户端,您可以执行以下操作之一:

  1. 您应该使用模板引擎将此信息打印到服务器端本身的 HTML 文件中。
  2. 您应该通过另一个 API 返回此信息,方法是将其转换为易于在 javascript 端浏览的 JSON 格式,并使用 AJAX 调用您的 API。
于 2012-09-09T12:48:28.083 回答
0

使用 ajax 调用,例如 $.post 将数组作为 json 数组,echo json_encode($picture)在 PHP 脚本的末尾添加一个。

于 2012-09-09T12:48:47.030 回答
0

PHP 只是生成文件,然后您将其发送给客户端。JavaScript 在客户端执行。所以你应该在php中生成类似

var pictures = {'1': {caption: '1920x1200px', tag: 'wallpaper', link: '#'}};

例如,将其放在脚本标记中的 html 中。

作为一种变体,您可以这样做:

var pictures = <?= json_encode($pictures); ?>;
于 2012-09-09T12:49:50.427 回答