0

itis.gov Web サービスからデータを取得して、html ページに表示しようとしています。

このサイトには、JSON および JSONP Web サービスがあります。以下のコードが機能しない理由がわかりません。facebook API などの他の JSON Web サービス API で動作するコードを取得しました。

以下は、Web サービス メソッド「getScientificNameFromTSN」を使用したJSON API 呼び出しの例です。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<body>
<script>
$(document).ready(function() {
   var url="http://www.itis.gov/ITISWebService/jsonservice/getScientificNameFromTSN?";
   $.getJSON(url, { "tsn" : "202384" }, function(data) {
      document.write(data.author);
   });
});
</script>
</head>
<body>
</body>
</html>
4

2 に答える 2

0

実際の ajax リクエストをサポートするには、サーバーはヘッダーで応答する必要がありますAccess-Control-Allow-Origin: *が、そうではありません。

$.ajaxまたは、 ;を使用できます。それは私にとってより明確で便利に見えます

$.ajax({
    url     : "http://www.itis.gov/ITISWebService/jsonservice/getScientificNameFromTSN",
    data    : { "tsn" : "202384" },
    dataType: "jsonp",
    jsonp   : "jsonp",
    success : function(data) { console.info(data); } 
});

jquery に dataType を渡して、パディングを使用してドメイン間でデータをクエリする必要があることに注意してください。また、サーバーが必要とするため、クエリ文字列パラメーターにコールバック名を指定する必要がありますjsonp : "jsonp"(

結果は

author: "Merriam, 1914"
class: "gov.usgs.itis.itis_service.data.SvcScientificName"
combinedName: "Ursus arctos nelsoni"
kingdom: "Animalia"
tsn: "202384"
unitInd1: null
unitInd2: null
unitInd3: null
unitInd4: null
unitName1: "Ursus"
unitName2: "arctos"
unitName3: "nelsoni"
unitName4: null
于 2013-04-11T08:39:20.420 に答える