2011-08-02 146 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