将ajax请求转换为对象?

时间:2010-12-21 14:02:38

标签: jquery

我正在制作几个jquery xml请求,有些需要在文档就绪时调用,其他需要通过函数调用调用?我注意到很多代码重复,因为我在函数中包装xml请求。所以这是一个例子。

      $.ajax({
    type: "GET",
    url: "english.xml",
    dataType: "xml",
    success: 
  function searchStr(xml, val){
  val = val.toLowerCase();
    $(xml).find("a").each(function(){
      $(this).find('b').each(function(){
       $(this).find('c').each(function(){
        $(this).find('d').each(function(){
      //calculations
        });
        $(this).find('d2').each(function(){
                                               //calculations
        });
       });
      });
     });
  }
 });

第一个是在准备文件时调用....

    function searchForString(val){
           $.ajax({
        type: "GET",
        url: "english.xml",
        dataType: "xml",
        success: 
      function searchStr(xml, val){
      val = val.toLowerCase();
        $(xml).find("a").each(function(){
          $(this).find('b').each(function(){
           $(this).find('c').each(function(){
            $(this).find('d').each(function(){
          //calculations
            });
            $(this).find('d2').each(function(){
                                                   //calculations
            });
           });
          });
         });
      }
     });
}

在需要时调用第二个on并传递val的参数。 我想主要的问题是:如何将ajax调用转换为对象或可重用函数,以便我可以完成上述操作而无需重写ajax请求。谢谢

2 个答案:

答案 0 :(得分:0)

或许可以全局访问该功能吗?

答案 1 :(得分:0)

定义

function processXML(xml, val) {
    //do all you need here
}

代码中的某处,并使其成为两个ajax调用的成功处理程序