2017-07-16 4 views
0

なぜウィキペディアのAJAX呼び出しは、私は私のコンソールで解析されたデータを取得することはできませんよ、なぜ誰かが私を伝えることができ

var url = 'http://en.wikipedia.org/w/api.php?action=opensearch&format=json&limit=15&search=' + search; 
 
var ourRequest = new XMLHttpRequest(); 
 

 
ourRequest.open('GET', url); 
 

 
ourRequest.onload = function() { 
 
    var data = JSON.parse(ourRequest.responseText); 
 
    console.log(data); 
 
}; 
 
ourRequest.send();

が機能していません。

+0

あなたが不足している 'ourRequest.send();'前のonload。 –

+1

[あなたのDevToolsを開き、エラーを探す](https://developer.chrome.com/devtools)。 CORSエラーである可能性があります。 –

+1

それで、あなたはourRequest.send()を意味しましたか? ourRequest.open( 'GET'、url)の後にする必要があります。 –

答えて

0

あなたはこの要求を動作させるために、あなたのurl変数に1つの以上のパラメータを追加する必要があります。それを追加すれば、あなたのコードはうまくいくでしょう。

url変数の変更点を確認してください。 Wikipedia APIでは、リクエスト文字列がパラメータ文字列に含まれている必要があります。

document.getElementById('do-search').addEventListener('click', search); 
 

 
function search(){ 
 
    var search = document.getElementById('search').value; 
 
    var url='http://en.wikipedia.org/w/api.php?action=opensearch&format=json&limit=15&origin=*&search='+search; 
 
    var ourRequest = new XMLHttpRequest(); 
 

 
    ourRequest.open('GET', url); 
 

 
    ourRequest.onload = function() { 
 
    var data = JSON.parse(ourRequest.responseText); 
 
    document.getElementById('results').innerHTML = data; 
 
    }; 
 
    ourRequest.send(); 
 
}
<input id="search" type="text"> 
 

 
<button id="do-search">Search</button> 
 

 
<div id="results"></div>

0

私は次のコードで動作させるようにしました。 起源= * -

$.ajax({ 
url: url, 
jsonp: "callback", 
dataType: "jsonp", 
success: function(data) { 
    console.log(data); 
} 
}); 
関連する問題