2017-11-10 3 views
0

Giphy API를 내 앱에 연결했는데 호출이 작동하지 않는 이유를 알 수 없습니다. 아마 그것이 내 열쇠라고 생각했지만 공개 키를 삽입했는데 여전히 작동하지 않았습니다. API를 잘못 호출합니까? 내가 giphy API에 대한 설명서를 확인하고 올바른 매개 변수를 사용하여 메신저 것 같습니다.내 Javascript 페이지에서 giphy API의 데이터를 가져 오지 못했습니다.

이봐, 난이 코드를 reviwed 한
var feelings = ["Angry", "Happy", "Excited", "Confused"]; 
var currentGif; 
var pausedGif; 
var animatedGif; 
var stillGif; 



function createButtons() { 

    $('#buttons').empty(); 

    for(var i=0; i < feelings.length; i++) { 

     var showBtn = $('<button>').text(feelings[i]).addClass('showBtn').attr({'data-name' : 
feelings[i]}); 

     $('#buttons').append(showBtn); 
    } 


    $('showBtn').on('click', function() { 

     $('display').empty(); 

     var currentFeeling = $(this).data('name'); 

     var giphyURL = "http://api.giphy.com/v1/gifs/search?q=" + 
currentFeeling + "&api_key=xxx&limit=8"; 

     $.ajax({ 

     url: giphyURL, 
     method: 'GET' 
    }).done(function(giphy) { 

     currentGif = giphy.data; 

     $.each(currentGif, function(index, value) { 

      animatedGif = value.images.original.url; 
      pausedGif = value.images.original_still.url; 

      var thisRating = value.rating; 

      if(thisRating == '') { 

       thisRating = 'unrated'; 
      } 

      var rating = $('<h3>').html('Rated: '+ thisRating).addClass('ratingStyle'); 

      stillGif = $('<img>').attr('data-animated', animatedGif).attr('data-paused', pausedGif).attr('src', pausedGif).addClass('playOnHover'); 

      var fullGifDisplay = $('<button>').append(rating, stillGif); 

      $('#display').append(fullGifDisplay); 
     }); 



    }); 

    }); 
} 

$(document).on('mouseover', '.playOnHover', function() { 

    $(this).attr('src', $(this).data('animated')); 
}); 

$(document).on('mouseleave', '.playOnHover', function() { 

    $(this).attr('src', $(this).data('paused')); 
}); 

$('#add-feeling').on('click', function() { 

    var newFeeling = $('#feeling-input').val().trim(); 

    feelings.push(newFeeling); 

    createButtons(); 

    return false; 
}); 

createButtons(); 
+0

q =에 대한 샘플 입력/매개 변수를 알려주시겠습니까? 또는 currentFeeling은 무엇을 기대합니까? – hamzox

+0

q = 슬픈 예를 들어, URL을 혼자 내 브라우저에서 사용할 때 작동하지만 웬일인지 그 자체가 호출 자체가 작동하지 않습니다. –

답변

0

, 당신이 사용하는 HTTPS //api.giphy 같은 HTTP-

var giphyURL = "https://api.giphy.com/v1/gifs/search?q=" + 
currentFeeling + "&api_key=0BScOL3fj1asLChkeb0QOnvJcNr7VbHc&limit=8"; 

주의 검색 PARAM을 intsted :

여기 내 코드입니다. com/v1/gifs/search? q = 매개 변수

+1

API를 호출 할 때 's'를 사용하지 말고 HTTP 만 사용하십시오. 적어도 그들의 문서가 말하려는 것이 무엇입니까? –

+0

http에 's'를 추가하려고 시도했지만 여전히 작동하지 않습니다. –

0

나는 그것을 알아 냈다 ... 나는 클래스와 ID (#,.)가 없어졌다. 한숨