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处理程序尝试$.ajax()错误地调用 call(它没有任何参数)。

这大概就是全部了。

于 2012-08-10T19:36:29.777 回答