我知道這個問題已經被問在計算器上裏面很多,但我找不到可以應用到我的問題的任何解決方案。傳遞PHP數組到一個JavaScript數組PHP函數
我的工作是重新組合的所有視頻和我公司的圖片在一個平臺上(我收回我的前同事後的項目),我的問題是在顯示圖片的燈箱。
我有一個返回HTML/CSS/JavaScript的字符串格式像這樣的PHP函數:
$block = '<div id="myModal" class="modal" style="margin:auto">'
.'<span style="float:right;margin-right:33px"><a href="'.HTTP_IHM_PATH.'Suppression.php?id='.$records[$i]['Access_Key'].'" onclick="return confirm(\'Êtes-vous sûr de vouloir continuer cette suppression ? Elle sera définitive.\');"><img src="'.HTTP_IMG_PATH.'corbeille.jpg" style="width:20px;height:auto;"></a></span>'
.'<span class="close cursor" onclick="closeModal()" style="color:#585858; font-size:60px;float:right;">×</span>'
[...]
return $block;
我這樣調用該函數:<?php echo function() ?>
在這裏,我有一個PHP數組$records
其中包含我想要在LightBox中顯示的圖片的所有信息,稍後我希望在我的代碼中將這些信息用於我的JavaScript功能。
我聽說,我可以用<script>var records = <?php json_encode($records) ?></script>
JavaScript中的數組轉換,但它不工作!
最後我想要做的是當用戶點擊一張圖片時,它打開我的LightBox併爲他正在看的每一張圖片,我想調用我的php函數UpdateViews()
,它將視圖數加1的圖片。
我嘗試使用Ajax,但因爲它是相當新的給我,我可能會做愚蠢的錯誤(這仍是字符串格式的變量$block
):已經用我的前同事:
$block .= '//getSlideIndex returns slideIndex wich is the id of the <img/>
$(\'#\' + getSlideIndex()).on(\'click\', function(){
alert("Ok onclick" + records[getSlideIndex()]["Access_Key"];
//"Access_Key" is the property I need (primary key of the table)
$.ajax({
type:\'GET\',
url: \'/picture.php\',
data: {id=\' + records[getSlideIndex()]["Access_Key"] + \'},
success: function(data){
alert(\'success\' + data);
},
error: function(exception){
alert(\'Exception: \' + exception);
}
});
e.preventDefault();
});';
注意他的代碼中有一些Ajax,所以當我在這個頁面上時,已經設置了$_GET
:在這種情況下,我能否使我的ajax工作?
謝謝你,如果你讀到這一點,我希望你能幫助我走上正確的軌道。
要* *那個傢伙:請想想前分隔條件 - 和後端,獲取您的JSON與一個端點,這是PHP的一部分。這樣,它不會像這樣變成一個複雜的混亂。抱歉迂腐。 –