我正在尝试使用 jQuery $.ajax 调用从 Web 服务返回 xml。如果对该 Web 服务的调用失败,无论出于何种原因,我都有一些我想使用的静态 xml。我正在尝试使用 timeout 属性来告诉我调用是否失败,并将 xml 解析逻辑放入我的错误函数中。我知道 xml 的解析工作正常,因为我已经在删除 ajax 调用的情况下对其进行了测试。当我添加带有虚拟 url 的 ajax 调用以强制出错时,$xml var 永远不会被设置。有什么想法吗?
var navXml = '<?xml version="1.0" encoding="utf-8" ?><book><chapter id="1"></book>'; //static xml here
var serviceUrl = 'http://1234lkjasdf/test'; //bad service url to test failure
var $xml;
$.ajax({
type: 'GET',
dataType: 'xml',
url: serviceUrl,
timeout: 10,
success: function(data, status){
//set $xml var to xml data returned
$xml = data;
},
error: function (req, status, error){
//set $xml var to xml parsed from static value
xmlDoc = $.parseXML( navXml ),
$xml = $( xmlDoc );
}
});