2016-08-27 11 views
0

私はダウンロードボタンのクリックでapiを使用してjavascriptを使用してWebページをクロールしようとしています。しかし、私はこの中にresponseTextを受け取っておらず、同じapiはcurlを使って動作します。XMLHttpRequestがクロールしようとしていません

download.addEventListener('click',function(){ 

    document.getElementById('check').innerHTML = url; 

    var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + url + '"') + '&format=json&callback=?'; 
    document.getElementById('check').innerHTML = yql; 
    var request = new XMLHttpRequest(); 


    request.onreadystatechange = function(){ 
     document.getElementById('check').innerHTML= request.readyState; 

     if(request.readyState ===XMLHttpRequest.DONE) { 
     document.getElementById('check').innerHTML= request.responseText; 
     } 
    }; 

    request.open("GET", yql, true); 

    request.send; 

},false); 
+1

は 'request.send()'があってはなりませんか? – Seb

答えて

-1

だけYPLからのコールバックを削除してから、このコードは正常に動作します:

download.addEventListener('click',function(){ 

    document.getElementById('check').innerHTML = url; 


    var yql = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from html where url="' + url + '"') + '&format=jsonp'; 
    document.getElementById('check').innerHTML = yql; 


    var request = new XMLHttpRequest(); 
    request.open("GET", yql, true); 
    request.send(); 

    request.onreadystatechange = function(){ 
     document.getElementById('check').innerHTML= request.readyState + request.status; 
     if(request.readyState ===4) { 
      document.getElementById('check').innerHTML= request.responseText; 
     } 
    }; 


},false); 
関連する問題