不能使用'in'运算符来搜索'length'

时间:2017-10-04 08:10:42

标签: javascript jquery ajax

我似乎无法弄清楚为什么我会收到此错误我已经看到错误的解决方案,但没有人使用AJAX来获取数据,如果有人可以提供帮助那将是很好的这里是JS:

$(document).ready(function() {
    function updatetabel() {
        console.log("update");
        $.ajax({
            url: "/main",
            type: 'GET',
            dataType: "",
            cache: false,
            success: function(result) {
                console.log("succes!");
                console.log()
                $(".table-hover-cells").remove();
                $.each(result, function(index, value) {
                    console.log("update_tabel");
                    var content = "<table class=\"table-hover-cells" +
                        this[0] + "\" id=\"hover-table\">" + "<thead>" + "<tr>" + "<td>" +
                        this.Name + "</td>" + "<td>" +
                        this.Description + "</td>" + "<td>" +
                        this.Status + "</td>" + "<td>" +
                        this.Date + "</td>" + "</tr>" + "</thead>" + "</table>"

                    $("inv").append(content);
                })
                console.log("tabel_update");
            },
            error: function(result, thrownError) {
                console.log("Failure!")
                console.log(result)
            }
        });

    }

    updatetabel();
    setInterval(function() {
        updatetabel()
    }, 100000);
});

$(document).ready(function() {
    $('table tbody tr td').on('hover', function() {
        $(this).toggleClass('bg');
    });
});

1 个答案:

答案 0 :(得分:2)

成功回调中的以下行会引发错误:

$.each(result, function(index, value) {
    ...
}

最有可能的是,您的“结果”不是对您的请求的有效响应,而$ .each需要一个有效的数组来迭代。首先检查ajax调用的XHR响应,看是否返回了一个数组。也可以更好地定义dataType。