响应解析器错误

时间:2011-11-25 15:04:10

标签: javascript jquery cross-domain

这是对我的网络服务的跨域AJAX请求。

$(document).ready(function(){
                    $.ajax({
                  url: 'http://storage.loc/api/getowners/?host=http://www.mail.ru/&callback=parseJSON',
                  dataType: 'jsonp',
                  crossDomain: true,
                  type: 'GET',
                  jsonp: false,
                  jsonCallback: 'parseJSON',
                  error: function(){
                      alert('Error');
                  },
                  complete: function(jqXHR, textStatus){
                      alert(textStatus);
                  }
                  });
                });

        function parseJSON(data)
        {
            var links = [];
            $.each(data.users, function(key,value) {
                links.push = '<a href="#" id="'+value+'"onClick="getData(this)">'+value+'</a><br />';   
            });
        }

回复是:

parseJSON({"users":{"user0":"rulezz87","user1":"karazyab"}})

响应似乎是正确的,但textStatus是“parsererror”,而parseJSON()中的数组是空的。我不是jQuery的专家,所以你能告诉我,我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

响应不正确,用户列表不是数组。应该是这样的:

{ "users" : [ {"user0" : "rulezz87"}, {"user1" : "karazyab"} ] }

因此,错误消息是正确的,并且它也无法从JSON解析。