图API将所有状态结果返回为未定义

时间:2013-05-21 01:53:52

标签: jquery facebook-graph-api

我正在创建一个查询Facebook以查找结果的搜索栏。当我输入一个单词进行搜索并点击搜索时,我会得到结果但是发布了“状态”的任何人....我得到了很多未定义的字段。所以它说''用户'共享一个状态“,在它下面,照片部分显示未定义,并且没有实际状态。这是空白的。我该如何解决这个问题?

其他一切都很好......“'用户分享了一张照片'显示了他们分享的照片。有时也有描述......共享链接也有效。

我还希望能够在搜索栏中输入多个单词,并能够再次搜索。截至目前,您必须刷新页面才能再次搜索。

我已经检查了其他主题以获得答案,但主题并不是我如何进行搜索。我还没有找到答案。希望有人可以提供帮助!谢谢....这是我的搜索栏所在页面的链接。我也会包含我的代码。 http://ericnaff.com/html5/p3/此外 - 我怎样才能这样做“输入/返回”也开始搜索?

代码 -

function searchFB(userSearchparameter) {

    $.getJSON('https://graph.facebook.com/search?q=' + userSearchparameter + '&callback=?', function(fbResults){
        $.each(fbResults.data, function() {
            // Data Templating
            $('<article class="fbResults"></article>').append ( 

                '<section class="resultsSource"><h6 class="shareHeader">' +
                '<img class="fromUser" src="https://graph.facebook.com/' + this.from.id + '/picture" height="50" width="50" alt="' + this.from.name + '">' +
                '<a href="http://www.facebook.com/' + this.from.id + '" class="fromName">' + this.from.name +'</a> shared a <a class="typeLink" href="' + this.link + '">' + this.  
                type + '</a> </h6>' +
                '<time class="createdTime" datetime="' + this.created_time + '">' + fuzzyFacebookTime(this.created_time.replace(/-/g,'/')) + ' &middot;</time>' +
                '<img class="typeLinkIcon" src="' + this.icon + '" alt="icon"></section>' +
                '<section class="resultsDescription"><h6><a class="shareLink" href="' + this.link + '">' +
                '<img class="sharePicture" src="' + this.picture + '" height="90" width="90" alt="' + this.name +'">' +
                '<span class="shareName">' + this.name + '</span>' +
                '<span class="shareCaption">' + this.caption + '</span>' +
                '<span class="shareDescription">' + this.description + '</span>' +
                '</a></h6></section>' +
                '<iframe class="linkShare" src="http://facebook.com/plugins/like.php?href=' + this.link + '"></iframe>'
            ).appendTo('body');

            $('.fbResults section.resultsDescription span:contains(undefined)').remove();
        })
    })
}
$("button.startSearch").click(function() {
    var searchThis = $('.searchQuery').val();
    searchFB(searchThis);
});

1 个答案:

答案 0 :(得分:1)

所以我找到了所有未定义结果的解决方案。这是我的代码 -

$('.fbResults').find('img[src="undefined"]').remove();

我还负责使用ENTER / RETURN使用.keypress函数启动搜索,就像这样 -

$("input.searchQuery").keypress(function(event) {
$('.fbResults').remove();
if (event.which == 13) {                        //enter
event.preventDefault();

该代码也刷新了结果。

感谢您的任何帮助。

相关问题