2011-08-02 151 views
1

我希望能够从“on success”区域调用函数,而不必将我的代码放在该区域中。我将使用两次代码,因此我试图弄清楚如何将它放在jQuery.ajax()函数之外。jQuery Ajax调用函数

这里是我当前的代码:

$.ajax({ 
    type: "GET", 
    url: "ws/getweather.ashx?zip=" + vZip, 
    dataType: "xml", 
    success: function (xml) { 
    $(xml).find('weather').each(function() { 
    // Load New Data 
    ... 
}); 
}, 
    error: function (xml) { 
    alert("Unrecognized Region. Please try again."); 
    } 
});  

因此而不必...

function (xml) { 
    $(xml).find('weather').each(function() { 
    // Load New Data 
    ... 
}); 

我想放在另一个函数的名称,以及XML传递给函数。这样我可以让其他事件调用相同的一组代码。

在此先感谢!

更新============================================= ======

感谢Mike Richards的及时回复。我包含了下面的确切语法,因为我不得不添加一些细节以使其工作......意思是将XML传递给其他函数。

$.ajax({ 
type: "GET", 
url: "ws/getweather.ashx?zip=32751", 
dataType: "xml", 
success: function (xml){ 
    weatherize(xml); 
}, 
error: function (xml) { 
    alert("Unrecognized Region. Please try again."); 
} 
}); 

然后somwhere下面,我的其他功能

function weatherize(xml) { 
    $(xml).find('weather').each(function() { 
// Load New Data 
... 
}) 
}; 
+1

嘿联系人,很高兴工作。另外,请注意,您不需要包装功能。你可以做'成功:weatherize', –

回答

5

你可以通过在该参数:)

success : successFunction, 

和功能,那么,其他somehwere:

function successFunction(data) { 
    // Do Something 
} 
+0

感谢迈克,那就做到了。我发布了以上工作的确切语法。祝您有个愉快的一周! – ContactEstablished