返回的Ajax空数据

返回的Ajax空数据,ajax,json,angularjs,jsonp,Ajax,Json,Angularjs,Jsonp,我使用Angular,但在普通的jQueryAjax请求中也会发生同样的情况,即获取数据 数据结构为: { "providers": { "complete":[1,2,3], "inProgress":[4,5,6] }, "results": [ {"thing":{"id":"1234"},"somethingelse":null}, {"thing":{"id":"5678"}

我使用Angular,但在普通的jQueryAjax请求中也会发生同样的情况,即获取数据

数据结构为:

    {
    "providers":
    {
        "complete":[1,2,3],
        "inProgress":[4,5,6]
    },
    "results":
    [
        {"thing":{"id":"1234"},"somethingelse":null},
        {"thing":{"id":"5678"},"somethingelse":null}
    ]
}
Ajax请求如下所示:

        $.ajax({
            dataType: 'jsonp',
            headers: {'cache-control': 'no-cache'},
            url: $resultsURL
        }).done(function(data) {
和角度要求:

            $http.jsonp($resultsURL)
                .success(function(data, status){
现在,没有演示就很难解释,遗憾的是,我不能公开任何api端点,但是上面的工作很好,正如预期的那样,并告诉我有两个结果

现在真正的问题是,如果我尝试console.log(data.results),我可以将一个partials请求附加到url并返回一个较小的数据集,其中包含一个偏移量等,我会得到一个空的[]。如果我尝试data.results.length,它将返回0

理解这可能没有多大意义,所以我想首先要解决的是为什么ajax可能会将data.results的长度返回为零

我是否错过了一些非常明显的东西


欢呼声

原来我打服务的速度太快了,所以它一开始以为它是空的。

$resultsURL的值是多少?按照var$resultsURL=$settings.api+'/results/'+$scope.inquiryId+'?partialfrom='+$scope.partialfrom+'&partiallimit='+$scope.partiallimit+'&callback=JSON\u callback';您是否尝试过使用开发工具或firebug查看网络窗口中的响应?是的,看起来不错。当我在一个新的选项卡中打开响应时,会有大量的结果。既然您不能公开API,那么您可以获取JSON响应并创建一个plunker或JSFIDLE,它只向包含响应数据的.JSON文件发出JSONP请求。如果没有该问题的示例,将很难进行故障排除。