Возникли проблемы с jQuery, ajax и jsonp

Я использую jsonp и ajax для запроса написанной веб-службы в java на другом сервере. Я использую следующую команду jquery:

$.ajax({
    type: "GET",
    url: wsUrl,
    data: {},
    dataType: "jsonp",
    complete: sites_return,
    crossDomain: true,
    jsonpCallback: "sites_return"
});


function jsonp_callback(data) {
    console.log(data);
}

function sites_return(data) {
    console.log(data);
}

Итак, моя проблема в том, что после завершения запроса вызывается функция с именем jsonp_callback. Там, где я могу ясно видеть строку в формате json:

{"listEntries":["ELEM1", "ELEM2", "ELEM3", etc...]}

Но после функции sites_return вызывается, когда срабатывает полное событие, я получаю следующее:

Object { readyState=4, status=200, statusText="parsererror"}

Также для справки функция jsonp_callback вызывается перед функцией sites_return. Также, если я беру функцию jsonp_callback из кода, я получаю жалобу на firebug, что функция не реализована.

Мой вопрос тройной: 1) Что я делаю не так на стороне jquery? 2) Почему json правильно разбирается в jsonp_callback, но не sites_return? 3) Что я могу сделать, чтобы исправить эти проблемы?

EDIT

Некоторые новые разработки. В комментариях содержится дополнительная информация.

Следующее - это то, что выходит из HTTP-ответа

jsonp_callback({"listEntries":["ELEM1", "ELEM2", "ELEM3"]})

Я предполагаю, что это причина вызова jsonp_callback. Думаю, теперь мой вопрос таков: есть ли способ контролировать это (при условии, что у меня нет доступа к серверной веб-службе).

5
задан sumone4life 13 June 2011 в 13:50
поделиться