我有一个调用我的WCF Rest Web服务的JQuery ajax函数。我的Web服务调用另一个返回JSON的服务。我不想创建所有C#类并解析该JSON响应并返回它。所以我刚刚创建了一个包含一个字符串属性的类,并将json作为字符串在该属性中将其作为xml返回。
在客户端,当我直接调用天气服务并获取JSON并享受JQuery的自动解析时,我实际上让客户端工作得非常好。现在我将dataType更改为'xml',它总是进入错误函数,没有任何有用的错误消息。
function getWeather(location) {
var requestURL = 'http://localhost:55120/Weather1.svc/Weather/' + location;
return $.ajax({
url: requestURL,
type: 'GET',
dataType: 'xml',
error: function (xhr, status, errorThrown) {
hideWeatherDiv();
var jsonVal = $.parseJSON(xhr.responseText);
$("#errorDiv").html('Response code: ' + xhr.status + '<br/>Response text: ' + jsonVal + '<br/>Status: ' +status + '<br/>Error thrown: ' + errorThrown);
}
});
}
var promise = getWeather(location);
promise.success(function (data) {
alert('promise success');
renderWeather(data);
return;
});
以上是功能和我对它的调用。就像我提到的那样,它正在向我的WCF服务发出请求,该服务正在调用气象服务。我可以在fiddler中看到我的WCF请求它是有效的XML的响应,但是我无法在这里解析它。