我知道至少有100頁關於這個問題,我確實嘗試了很多,但仍然沒有運氣。將PHP數組傳遞給js變量
這可能是一件非常愚蠢的事情,我可能會錯過某些地方,但如果有人能幫助我,我會很感激。
這是PHP代碼:
<?php
$std_res = array();
$thumb_res = array();
$hashtag = $_GET['hashtag'];
if ($hashtag != "")
get_hashtag($hashtag);
function get_hashtag($hashtag){
$access_token = ACCESS_TOKEN;
$instagram = new Instagram(INSTA_CLIENT_ID, INSTA_CLIENT_SECRET, $access_token);
try {
$feed = $instagram->get('tags/'.$hashtag.'/media/recent');
}catch(InstagramApiError $e) {
die($e->getMessage());
}
$counter = 0;
//$std_res = array();
//$thumb_res = array();
foreach($feed->data as $item){
$std_res[$counter] = $item->images->standard_resolution->url;
$thumb_res[$counter] = $item->images->thumbnail->url;
$counter++;
}
print_r ($std_res);
//echo "<script> trial(); </script>";
}
?>
然後在JavaScript中我試圖訪問的$內容std_res
<script type="text/javascript">
//public function trial(){
var std_resol = <?php echo htmlspecialchars(json_encode($std_res), ENT_NOQUOTES); ?>;
//var std_resol = <?php echo json_encode($std_res); ?>;
//var std_resol = <?php echo '["' . implode('", "', $std_res) . '"]' ?>;
for(var i=0;i<20;i++){
alert(std_resol[i]);
}
<!--
//var viewer = new PhotoViewer();
//viewer.add('images/1.jpg');
//viewer.add('images/2.jpg');
//viewer.add('images/3.jpg');
//-->
//}
</script>
我已經試過很多方法試圖訪問數組中的JavaScript,它始終引發未定義的警報。
這是結果在$ std_res一個例子:
Array
(
[0] => https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/e15/11098632_1592161574372304_946830181_n.jpg
[1] => https://scontent.cdninstagram.com/hphotos-xaf1/t51.2885-15/e15/11137792_375372262654484_983054129_n.jpg
)
會是一個什麼樣的數據在'的print_r($ std_res); '? – 2015-04-05 12:56:39
與PHP的文件是否在同一個文件中?你有沒有試過'console.log(std_resol);'看數據是如何設置的? – 2015-04-05 12:58:01
@Testing:我已經添加了一個例子。 – 2015-04-05 12:59:21