0

JSON 応答を提供する API からデータを取得しようとしています。私はこれらすべてにまったく新しいです。誰かが私のコードを見て、それが機能しない構文上の理由があるかどうか教えてもらえますか? ボタンを押して、リクエストから返されたデータを含むアラート ポップアップを表示したいと考えています。これはあなたができる最も基本的なプログラミングだと思いますが、うまく動かないようです。

<head>

<script type="text/javascript">
$.ajax({
    type: 'GET',
    url: 'http://openapi.etsy.com/v2/teams/8787?api_key=********&fields=name',
    async: false,
    jsonpCallback: 'jsonCallback',
    contentType: "application/json",
    dataType: 'jsonp',
    success: function(data)
    {
        alert(data)
    }
})
</script>

</head>
<body>
<button onClick="$.ajax()">Run Code</button>
</body>
</html>
4

3 に答える 3

2

jQuery をbutton使用して目立たないようにイベント ハンドラーを追加して、id.

<head>


</head>
<body>
<button id="button">Run Code</button>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$('#button').click(function(e){e.preventDefault();
$.ajax({
    type: 'GET',
    url: 'http://openapi.etsy.com/v2/teams/8787?api_key=********&fields=name',
    async: false,
    jsonpCallback: 'jsonCallback',
    contentType: "application/json",
    dataType: 'jsonp',
    success: function(data)
    {
        alert(data)
    }
})
});
</script>
</body>
</html>
于 2012-08-10T19:35:43.350 に答える
2

私はあなたのコードを書き直しました:

<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript">

function doStuff() {
    $.ajax({
        type: 'GET',
        url: 'http://openapi.etsy.com/v2/teams/8787?api_key=********&fields=name',
        async: false,
        jsonpCallback: 'jsonCallback',
        contentType: "application/json",
        dataType: 'jsonp',
        success: function(data)
        {
            alert(data)
        }
    });
}
</script>

</head>
<body>
<button onClick="doStuff()">Run Code</button>
</body>
</html>
于 2012-08-10T19:35:59.697 に答える
1

はい、いくつかの問題があります。

  1. jQuery を使用していますが、ロードしていません。
  2. ページの読み込み時に呼び出しを実行しようとしました。
  3. onclickイベント ハンドラーが call を誤って呼び出そうとします($.ajax()パラメーターがありません)。

おそらくこれで全部です。

于 2012-08-10T19:36:29.777 に答える