【问题标题】:Simple Flickr json data retriever not working简单的 Flickr json 数据检索器不起作用
【发布时间】:2015-11-13 00:13:45
【问题描述】:

我有以下简单的代码,它从 Flickr 检索数据以填充空的“ul”元素。 由于某种原因,“MyFeed.prototype.getFeed”中返回的“数据”变量未定义。它应该通过 Flickr 调用检索 Json。 我不明白为什么会这样。

除了在 getFeed 函数中添加内容之外,我不允许更改任何内容。

你能分享一些关于它的想法吗?

    <!DOCTYPE html>
<head>
    <meta charset="UTF-8">
</head>
<body>

    <ul id="data">

    </ul>

    <script>

        var MyFeed = function() {

        }

        var f = new MyFeed();

        MyFeed.prototype.setFeedUrl = function(url)
        {
            this.feedUrl = url;
            return this;
        }

        MyFeed.prototype.getFeed = function(data)
        {
            // I retrieve and inject in HTML the Flickr data from here...


        }

        f.setFeedUrl("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback={callback}&tags=london&tagmode=any&format=json").getFeed();

    </script>

</body>
</html>

【问题讨论】:

  • 你没有在 getFeed 中返回任何东西,即使你按照你的问题建议做了return data,你调用 getFeed 时没有参数,因此数据将是未定义的
  • 您已为getFeed 显示无代码 - 您如何期望除通灵者之外的任何人能够告诉您您的 getFeed 函数出了什么问题
  • 这是我得到的模板。我应该用一些代码填写该函数以检索 json 并显示它。问题是我不知道如何在 getFeed 函数中检索 JSON。这就是为什么它是空的。不涉及通灵:)
  • ahhh - 我以为It should have the Json retrieved with the Flickr call 暗示您根本没有在这里显示代码...问题是,您希望有人为您编写所有代码
  • 不不,不要误会我的意思。我知道如何编写代码,但我不明白如何使用此模板访问 json!你懂我的意思吗?我知道如何遍历 json 响应等。

标签: javascript html json ajax flickr


【解决方案1】:

编辑到prototype后需要创建f

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
</head>
<body>

    <ul id="data">

    </ul>

    <script>

        var MyFeed = function() {

        }

        MyFeed.prototype.setFeedUrl = function(url)
        {
            this.feedUrl = url;
            return this;
        }

        MyFeed.prototype.getFeed = function(data)
        {
            // I retrieve and inject in HTML the Flickr data from here...


        }

        var f = new MyFeed();

        f.setFeedUrl("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback={callback}&tags=london&tagmode=any&format=json").getFeed();

    </script>

</body>
</html>

【讨论】:

  • 感谢您的回答。不明白后面放的意思。我已经尝试过,但它仍然未定义。你能解释一下吗?
  • 顺序不重要——你可以随时添加到 MyFeed.prototype 中,任何 MyFeed 对象都会gain那个函数
  • @JaromandaX 这里的问题是,从“getFeed”方法我不知道如何检索 JSON,因为“数据”属性未定义。我如何访问这些数据?
  • @JaromandaX ...正如我上面指定的那样,我唯一可以更改的是在“getFeed”方法中,我需要从 Flickr URL 检索 json 并注入数据在 DOM 中。我不能改变/触摸其他任何东西。你能帮忙吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多