通过AJAX导入XML文件

时间:2010-08-09 09:19:38

标签: jquery xml ajax

以下代码完成了我需要的大部分内容。每次将新图像加载到页面上时都会运行该功能。然而,这已经为同一个xml文件创建了100个服务器请求..这是不好的,说实话 那么如何重新排列这个函数,所以只使用了1个xml请求(即使我将1个元素拉出i = id,整个xml文件仍然被缓存)所以我知道我可以使用它。

function loadImages(i){ 
i++;
$.ajax
    ({
        type: "GET",
        url: "sites.xml",
        dataType: "xml",
        async: "true",
        success: function(xml) 
        {
// these are the id's of images i do not want to load  
            var a = [2,3,4,5,6,7,8,9,19,18,60,61,50,49,79,78,81,82,80,70,90,91,92,93,94];

            if ( a.indexOf( 2 ) !== -1 ) { // do this if not an 1 of the id's above
            var img = $(xml).find('image[id=' + i + ']'),
            id = img.attr('id'),
            url = img.find('url').text();

            $('#loading'+i).html('<img src="'+url+'" onLoad="loadImages('+i+')" />').hide();
            $('#loading'+i).fadeIn();
            }
        }
    });
}

1 个答案:

答案 0 :(得分:0)

您可能想要使用AjaxQ插件。

  
      
  • 浏览器对打开的连接数施加限制   服务器。所有不合适的请求   在极限即将等待   无论如何都要跑。 IE浏览器   不会打开超过2个连接   默认情况下每台服务器一次。   Mozilla Firefox,Opera和Safari都有   每台服务器限制为8个连接。

  •   
  • 有时必须避免充斥服务器   同时进行AJAX请求。

  •   
  • Web应用程序需要AJAX请求按设计逐个运行,   订单很重要。
  •