如何从全局变量正确填充javascript对象

如何从全局变量正确填充javascript对象,javascript,php,html,Javascript,Php,Html,我开始玩Instagram API。以下代码段检索用户名的Instagram ID <?php $username = "[SOME-USERNAME]"; $client_id = "[CLIENT-ID]"; $access_token = "[ACCESS-TOKEN]"; $json_url = "https://api.instagram.com/v1/users/search?q=".$username."&client_id=".$c

我开始玩Instagram API。以下代码段检索用户名的Instagram ID

<?php 
    $username = "[SOME-USERNAME]";
    $client_id = "[CLIENT-ID]";
    $access_token = "[ACCESS-TOKEN]";
    $json_url = "https://api.instagram.com/v1/users/search?q=".$username."&client_id=".$client_id;
    $json = file_get_contents($json_url);
    $links = json_decode($json);

    echo $links->data[0]->username."'s Instagram ID : ".$links->data[0]->id."\n";
?>

您要做的是使用从PHP获得的变量构建您要传递到
Instafeed
对象中的JSON对象

<script type="text/javascript">
    var userFeed = new Instafeed({
        get: 'user',
        userId: <?= json_encode($links->data[0]->id) ?>,
        accessToken: <?= json_encode($access_token) ?>,
        links: true,
        resolution: 'standard_resolution'
    });
    userFeed["userId"] = user_id;
    userFeed["accessToken"] = access;
    userFeed.run();
</script> 

var userFeed=newinstafeed({
获取:“用户”,
用户ID:,
accessToken:,
链接:是的,
分辨率:“标准分辨率”
});
userFeed[“userId”]=用户id;
userFeed[“accessToken”]=access;
userFeed.run();

查看一点库代码后,设置
用户ID
和其他选项的方式不正确。属性应在
选项
对象内设置

使用:

而不是:

userFeed["userId"] = user_id;
userFeed["accessToken"] = access;
userFeed.run();

在你的浏览器中有一个叫做“查看源”的东西。用它来检查JS没有被你打印的变量格式错误。浏览器控制台中有错误吗?您是否尝试过在window.onload中包装所有代码?请在使用json_encode()后进行回显,以防出现引号或转义chars@developerwjk我查看了源代码,为测试变量添加了一些警报。除了final run()函数。@leo.fcx,它说没有指定userId。这解决了访问对象属性的主要问题。我还必须将userId转换为整数,因为我没有注意类型规范。谢谢你!
userFeed.options.userId = user_id;
userFeed.options.accessToken = access;
userFeed.run();
userFeed["userId"] = user_id;
userFeed["accessToken"] = access;
userFeed.run();