我知道至少有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