正确传递参数

时间:2016-01-06 09:32:16

标签: javascript

我有一个循环遍历json对象列表的函数。它确实有效,但它给了我这个错误:"未捕获TypeError:无法读取属性'值'未定义"指着这一行:

function onLinkedInLoad() {
    IN.Event.on(IN, "auth", onLinkedInAuth);
}

function onLinkedInAuth() {
    var cpnyID = 2414183; //LinkedIn's testDevCo
    IN.API.Raw("/companies/" + cpnyID + "/updates?event-type=status-update&start=0&count=10&format=json")
        .result(displayUpdates);
}

function displayUpdates(result) {
    var resValues = result.values;
    for (var i in resValues) {
        var share = resValues[i].updateContent.companyStatusUpdate.share;
        console.log(share);
    }
}

我的代码是:

{
  "values": [{
      "updateContent": {
          "companyStatusUpdate": {
              "share": {
                  "content": {
                      "description": "Test description",
                      "eyebrowUrl": "http://linkd.in/…",
                      "shortenedUrl": "http://linkd.in/…",
                      "submittedImageUrl": "http://m.c.lnkd.licdn.com/…",
                      "submittedUrl": "http://linkd.in/…",
                      "thumbnailUrl": "https://media.licdn.com/…",
                      "title": "Best Advice: Take Jobs Others Don't Want"
                  }
              }
          }
      }
  }]
}

为了解决此错误,我需要更改哪些内容?

json看起来像这样:

server.js

提前多多感谢。

1 个答案:

答案 0 :(得分:0)

原来这个错误出现是因为我在输入api密钥的head部分中进一步列出了displayupdates:我删除了它,所以我只有:

 <script type="text/javascript" src="https://platform.linkedin.com/in.js">
    api_key: xxxxxxxxxxxxxxxx
    **onLoad: onLinkedInLoad, onLinkedInAuth**
    authorize: true
 </script>