2016-09-07 4 views
0

私のコードで何が間違っているのか分かりません。私は検索入力ボックスに何かを入力して検索ボタンをクリックした後にgif画像を表示しようとしています。API呼び出しの検索ボックス

var button = document.createElement('button'); 
document.body.appendChild(button); 
button.innerHTML = "Search" 

var input = document.createElement("input"); 
document.body.appendChild(input); 

function afterLoad() { 
    var data = JSON.parse(this.responseText) 
    var image = document.createElement('img') 
    image.src = data.data[0].images.original.url 
    document.body.appendChild(image) 
    } 

function afterClick() { 
    var terms = target.value.split(' ').join('+') 
    alert(terms); 
    var request = new XMLHttpRequest() 
    request.addEventListener('load', afterLoad) 
    request.open('GET', 'http://api.giphy.com/v1/gifs/search?q='+terms+'&limit=1&api_key=dc6zaTOxFJmzC') 
    request.send() 

    } 

button.addEventListener("click", afterClick) 
+0

だけで画像を表示するためのポイントですか? XHRの代わりに、 'img'要素を作成し、その関数でビルドしているURLを使って' src'を直接設定し、次に 'appendChild()'をページに設定しますか? – mherzig

+0

はいポイントはイメージを表示することです。 – alaw

答えて

1

var button = document.createElement('button'); 
 
document.body.appendChild(button); 
 
button.innerHTML = "Search"; 
 

 
var input = document.createElement("input"); 
 
input.id = "search"; // *** set id *** 
 
document.body.appendChild(input); 
 

 
function afterLoad() { 
 
    var data = JSON.parse(this.responseText); 
 
    var image = document.createElement('img'); 
 
    console.log(data); 
 
    image.src = data.data[0].images.original.url; 
 
    document.body.appendChild(image); 
 
    } 
 

 
function afterClick() { 
 
    // changed target to focus search 
 
    var terms = document.getElementById("search").value.split(' ').join('+'); 
 
    alert(terms); 
 
    var request = new XMLHttpRequest(); 
 
    request.addEventListener('load', afterLoad); 
 
    request.open('GET', 'http://api.giphy.com/v1/gifs/search?q='+terms+'&limit=1&api_key=dc6zaTOxFJmzC'); 
 
    request.send(); 
 

 
    } 
 

 
button.addEventListener("click", afterClick);
<body></body>

あなたがターゲットを定義していませんでした。入力にIDを与え、値をとった。うまく動作します。

編集:私は「XXXXX」を検索する場合 画像が表示されます

関連する問題