Ajax数据收集 - 空集?

时间:2014-04-10 18:17:23

标签: javascript jquery ajax

我正在对我知道返回结果的php查询进行ajax调用。但是,我得到一个空集(" []")。这是我的代码:

var source = [];

// Get the user data to build the sources
function getUsers() {
    var data = $.ajax( {
        url: '/s/calendar_userdata.php',
        method: 'GET',
        dataType: 'json',
        success: function(userData) {
            console.log(userData); // returns []
            var len = userData.length;
            for(var i = 0; i < len; i++)
            {
                source[i] = '/s/events.php?e=' + userData[i]; // error "Uncaught TypeError: Cannot set property '0' of undefined"
            }

            return source;
        }
    });
} 

我已经完成了很多关于StackOverflow的阅读以及关于ajax调用和回调的几个教程。但是,我被卡住了。有人能告诉我我的错吗?在过去的10个小时里,我一直在谈论这个话题,不再取得进展。感谢。

1 个答案:

答案 0 :(得分:0)

你确定它会回归身体吗?

也许你可以先做一个     curl -i {host}:/ s / calendar_userdata.php 并将其作为编辑发布。

此外,您还可以在ajax调用中获取状态,这样您就可以确保不会丢弃有用的信息,例如404(未找到)。

function getUsers() {
  var data = $.ajax( {
    url: '/s/calendar_userdata.php',
    method: 'GET',
    success: function(userData, status) {
        console.log('userData: ' + userData + ', status:' + status); // returns []
        var len = userData.length;
        for(var i = 0; i < len; i++)
        {
            source[i] = '/s/events.php?e=' + userData[i]; // error "Uncaught TypeError: Cannot set property '0' of undefined"
        }

        return source;
    }
});