0

我有以下代码:

var _07votes = $("#07votes");
$(document).ready(function() {
        setInterval(function() {
                $.ajax({
                        url: "http://services.runescape.com/m=poll/retro_ajax_result?callback=?",
                        method: "GET",
                        contentType: "application/json",
                        dataType: "jsonp",
                        timeout: 10000;
                }).done(function(data){
                        if (data.votes > 0) {
                                _07votes.text("" + data.votes);
                        }
                });
        }, 3000);
});

我无法让这个 Ajax 代码工作,就像它不会查询一样。有人会知道为什么吗?

4

2 回答 2

3

您将获得对在结果存在之前放置结果的元素的引用。将其移动到ready事件处理程序中:

$(document).ready(function() {
  var _07votes = $("#07votes");
  ...

编辑:

此外,删除超时值后的分号:

timeout: 10000
于 2013-02-19T20:03:40.020 回答
-2

除了 Guffa 的答案,您必须首先解析 JSON 响应(当您成功检索它时)。

您可以使用 - 方法执行此操作jQuery.parseJSON()

于 2013-02-19T20:05:12.980 回答