0

クロスドメイン データ リクエストを作成したいと考えています。最初にYQLで試してみましたが、うまくいきました:

<script type="text/javascript">
$(document).ready(function(){
   var myURL = 'http://example.com';
   var xpathVariable = '...';
   var yql = "http://query.yahooapis.com/v1/public/yql?q=" + encodeURIComponent("SELECT * FROM html WHERE url='" + myURL + "'") + "%20AND%20xpath%3D'%2F%2Fdiv%5B%40id%3D%22" + xpathVariable + "%22%5D" + "&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=?";

   jQuery.getJSON(yql, function(data){
      var divToUpdate = $('#container');

      jQuery.each(data.query.results.span, function(i, spanItem){
         $('<div>' + spanItem.content + '</div>').appendTo(divToUpdate);
         if(i == 4) return false;
      });
   });
});
</script>

期待どおりに div コンテナーに表示される結果。

次に、jQuery の JSONP で試してみようと思いました。コードは次のとおりです。

<script type="text/javascript">
$(document).ready(function(){
   var myURL = 'http://example.com/search?type=2561&location=1562';       

   jQuery.ajax({
       type: 'GET',
       url: myURL,
       dataType: 'jsonp',
       jsonp: false,
       jsonpCallback: 'requestCallback',                        
       error: function(xhr, status, error){
          alert('error');
       }
   });

   function requestCallback(data){
       console.log(data);
   }     
});

</script>

現時点では、コールバック json データをコンソール ログに表示したいだけですが、エラー メッセージが表示されるため、何が間違っていたのかわかりません。JSONP は黙って失敗するため、コードのどの部分が間違っているのかわかりませんでした。誰か助けてくれませんか?

4

1 に答える 1

0

これはyahooが提供するWebサービスです。私の知る限り、バックエンドのこのWebサービスは、提供されたURLからデータを抽出し、抽出したデータをJSONの形式で返すWebスクレイピングツールを使用します.

于 2013-09-14T19:08:20.900 に答える