Я не получаю ожидаемый ответ от запроса веб-службы, который я делаю через API jQuery.ajax.Веб-служба получает запрос (я вижу, что он обрабатывается при выполнении вызова jQuery.ajax ()) и возвращает правильный XML (я вижу ожидаемый XML, когда выполняю запрос GET из браузера).
Я выполняю AJAX-вызов моего веб-сервиса следующим образом:
$.ajax({
type: "GET",
url: url_to_web_service,
dataType: "xml",
success: function (xml) {
// the array of image source locations we'll build from the XML
var thumbImgArray = new Array();
// find every image source location and add it to the array
$(xml).find("image_src_location").each(function () {
thumbImgArray.push($(this));
});
// update the scrollable thumbnail images using the new array of image source locations
updateScrollableThumbs($(xml).find("indicator"), thumbImgArray);
},
error: function (xhr, err) {
alert("AJAX error function invoked: \n\treadyState: " + xhr.readyState + "\n\tstatus: " + xhr.status);
$('.error').html("responseText: " + xhr.responseText);
}
});
Я всегда получаю функцию ошибки, вызываемую после выполнения запроса, с состоянием готовности == 4 и состоянием== 0.
Однако, если я изменю dataType на «text / xml» или «text», я попаду в функцию успеха, но данные ответа XML, переданные в метод, пусты (свойство responseXMLобъекта jqXHR имеет значение null).
После выполнения запроса Firebug отображает следующее:
Response Headers
Server Apache-Coyote/1.1
Content-Type text/xml;charset=ISO-8859-1
Content-Language en-US
Content-Length 1326
Date Wed, 25 May 2011 16:02:19 GMT
Request Headers
Host localhost:8080
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17 ( .NET CLR 3.5.30729)
Accept application/xml, text/xml, */*
Accept-Language en-us,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive 115
Connection keep-alive
Origin null
На вкладке Response ничего не отображается (указывает на пустую полезную нагрузку?), ина вкладке XML вы видите это:
XML Parsing Error: no element found Location: moz-nullprincipal:{a6fb7963-9b10-464c-a07d-c8e439b98f0d} Line Number 1, Column 1:
^
Кажется, что я что-то не так делаю в вызове jQuery.ajax (), который не позволяет включать полезную нагрузку XML как часть ответа.
Кто-нибудь может подсказать, где мне искать ошибку?
Заранее спасибо за помощь.