Ошибка синтаксического анализатора ответа - PullRequest
0 голосов
/ 25 ноября 2011

Это междоменный 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 голосов
/ 25 ноября 2011

Ответ неправильный, так как список пользователей не является массивом. Это должно быть как:

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

Итак, сообщение об ошибке корректно и тот факт, что оно также не может анализироваться из JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...