Я использую 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, я получаю жалобу на то, что она не реализована.
Мой вопрос в три раза: 1) Что я делаю неправильно на стороне jquery?2) Почему json правильно анализируется в jsonp_callback, а не sites_return?3) Что я могу сделать, чтобы исправить эти проблемы?
РЕДАКТИРОВАТЬ
Некоторые новые разработки.В комментариях приведена некоторая дополнительная информация.
Ниже приводится ответ http:
jsonp_callback({"listEntries":["ELEM1", "ELEM2", "ELEM3"]})
Я предполагаю, что именно по этой причине вызывается jsonp_callback.Я предполагаю, что мой вопрос теперь становится, есть ли способ контролировать это (при условии, что у меня нет доступа к внутреннему веб-сервису).