междоменный вызов ajax с ошибкой разбора jquery - PullRequest
0 голосов
/ 13 декабря 2011

Я пытаюсь выполнить междоменный сценарий вызова для получения некоторых данных JSON с удаленного сервера, я вижу, как выполняется запрос и данные возвращаются успешно с помощью Fiddler, но вызовы не выполняются, поскольку не удаетсяпроанализировать JSON - JSON действителен ...

Что-то не так с следующим вызовом jquery ajax?

версия jquery = 1.7.1

$.ajax({
        url: 'http://fooed.cloudapp.net/users?callback=?',
            crossDomain: true,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(data) {
                alert('success');
            },
            error: function(data) {
                alert('error');
            },
            complete: function(xhr, data) {
                if (xhr.status == 0)
                    alert('fail');
                else
                    alert('success');
            }
        });

ПримерJSON:

[{ "ContentPreferences":[],
   "Email":"mark.jones@somedomain.com",
   "FirstName":"Mark",
   "Id":"aa2f1944-e739-4329-9546-a21f52c02448",
   "KnownAs":"Mark",
   "LastName":"Jones",
   "TimeStamp":"\/Date(1323804151906)\/"
}]

1 Ответ

1 голос
/ 13 декабря 2011

Ваш JSON не является действительным JSONP. Это должно выглядеть так:

foo([{ "ContentPreferences":[],
     "Email":"mark.jones@somedomain.com",
    "FirstName":"Mark",
    "Id":"aa2f1944-e739-4329-9546-a21f52c02448",
    "KnownAs":"Mark",
    "LastName":"Jones",
    "TimeStamp":"\/Date(1323804151906)\/"
 }])

Это означает, что API не поддерживает JSONP или требует другой параметр, чем callback=?

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