简体   繁体   English

jQuery如果找不到xml文件,如何读取另一个xml文件

[英]Jquery if xml file not found how to read another xml file

$(document).ready(function()
{
    $.ajax({
    mtype: 'GET',
    url: '2.xml',
    dataType: 'xml',

    success: function(parseXml)
    {
        $('#title').append("City : " + $(parseXml).find("location").attr('city'));
        $('#lastupdate').append("Last Updated On : " + $(parseXml).find("lastBuildDate").text());

        var eday = new Array('#11','#12','#13','#14','#15');
        var eimg = new Array('#16','#17','#18','#19','#20');
        var emax = new Array('#21','#22','#23','#24','#25');
        var emin = new Array('#26','#27','#28','#29','#30');
        var erep = new Array('#31','#32','#33','#34','#35');
        var i = 0;

        $(parseXml).find('forecast').each(function()
        {
            $(eday[i]).append($(this).attr('day'));
            $(eimg[i]).append("<img src='img/" + $(this).attr('code') + ".png' style='width:40%;height:100%'/>");
            $(emax[i]).append($(this).attr('high'));
            $(emin[i]).append($(this).attr('low'));
            $(erep[i]).append($(this).attr('text'));
            i++;
        });

    }
  });
});

im reading 2.xml file using jquery. 即时通讯使用jQuery读取2.xml文件。 now i want if file 2.xml not found file i want to read 1.xml file. 现在我想要如果找不到文件2.xml,我想读取1.xml文件。 how to achieve that. 如何做到这一点。 any suggestion 任何建议

Try something like 尝试类似

$(document).ready(function () {
    load(['2.xml', '1.xml'])

    function load(urls) {
        if (!urls.length) {
            return;
        }
        $.ajax({
            mtype: 'GET',
            url: urls.shift(),
            dataType: 'xml',
            success: function (parseXml) {
                $('#title').append("City : " + $(parseXml).find("location").attr('city'));
                $('#lastupdate').append("Last Updated On : " + $(parseXml).find("lastBuildDate").text());

                var eday = new Array('#11', '#12', '#13', '#14', '#15');
                var eimg = new Array('#16', '#17', '#18', '#19', '#20');
                var emax = new Array('#21', '#22', '#23', '#24', '#25');
                var emin = new Array('#26', '#27', '#28', '#29', '#30');
                var erep = new Array('#31', '#32', '#33', '#34', '#35');
                var i = 0;

                $(parseXml).find('forecast').each(function () {
                    $(eday[i]).append($(this).attr('day'));
                    $(eimg[i]).append("<img src='img/" + $(this).attr('code') + ".png' style='width:40%;height:100%'/>");
                    $(emax[i]).append($(this).attr('high'));
                    $(emin[i]).append($(this).attr('low'));
                    $(erep[i]).append($(this).attr('text'));
                    i++;
                });

            },
            error: function (req) {
                if (req.status == 404) {
                    load(urls);
                }
            }
        });
    }
});

it will load the next item in the array if the current url throws an 404(not found) error 如果当前网址抛出404(未找到)错误,它将加载数组中的下一项

Demo: Fiddle 演示: 小提琴

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM