2012-09-09 83 views
0

我想將我在PHP文件中的數組傳遞給另一個用java腳本編寫的文件。 這是我的數組:從PHP文件傳遞數組到JS文件

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

在我的Java腳本文件,這是我想打電話給數組的地方: (在地方,他們應是我寫的TAG,鏈接和標題中的代碼。 Sry基因,如果這是一個愚蠢的問題,但正如你看到的,我不知道PHP和Java Script的想法)

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); 
     } 
    } 
}; 

回答

0

嘗試它使用JSON。有相當多的JSON解析器可用

0

將其編碼爲JSON以將其轉換爲JavaScript文字,然後以正常方式訪問結果值。

var data = <?php echo json_encode(array('foo' => 'bar')); ?>; 
console.log(data['foo']); 
0

您的PHP腳本(在服務器端)的生命週期不同於JS(在客戶端)的生命週期。如果你想通過從PHP到客戶端的一些信息,您可以執行下列操作之一:

  1. 您應該打印此信息爲使用您的模板引擎服務器端本身的HTML文件。
  2. 您應該通過將其轉換爲JSON格式並通過另一個API返回此信息,該JSON格式易於在JavaScript端瀏覽,並使用AJAX調用您的API。
0

使用Ajax調用,像$。員額得到數組作爲一個JSON數組, 在你的PHP腳本的末尾添加echo json_encode($picture)

+0

AJAX不是必需的。 –

+0

如果圖像真的是靜態的,則爲true,這完全會使PHP完全無法使用,並直接在JavaScript中使用PHP的數組內容。那麼首先使用PHP就沒有意義了。 – dbf

+0

是的,因爲JavaScript非常擅長例如訪問數據庫。 Yeesh。 –

0

PHP只是生成文件,然後發送給客戶端。 JavaScript在客戶端執行。所以,你應該在PHP中生成的東西像

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

,並將其放置在HTML腳本標記,例如。

作爲一個變體可能這樣做:如果你想要做的是PHP的結構轉換爲JavaScript的結構在同一頁面

var pictures = <?= json_encode($pictures); ?>; 
+0

有關PHP短標籤''的信息:http:// stackoverflow。com/a/200666/1478467 – Sherbrow

+0

@SperanskyDanil你能詳細說明一下嗎?我不知道從哪裏開始。 – Jean