Wie Sie Zugang zu $.ajax-Erfolg von Variablen außerhalb Umfang zu nutzen in anderen Funktionen?
Bevor dieses posting habe ich schon durchgelesen aber ich bin mir immer noch nicht klar, wie Sie diese erreichen.
Ich erhalte eine xml-Datei und das setzen einiger Variablen, wie kann ich Zugriff auf alle Variablen, die außerhalb der ajax-Erfolg in andere Funktionen?
$.ajax({
type: "POST",
url: getProductList,
data: reqProductXML,
dataType: "xml",
contentType: "text/xml; charset=\"utf-8\"",
success: function (data) {
$(xml).find('product').each(function () {
var productID = $(this).find('id').text();
var productName = $(this).find('name').text();
var productCurrency = $(this).find('currency').text();
var productDescription = $(this).find('description');
var sipAccess = $(this).find('sipAccess');
var skypeAccess = $(this).find('skypeAccess');
var localAccess = $(this).find('localAccess');
var rechargeable = $(this).find('rechargeable').text();
$('#urProductSelect').append("<option value='" + productID + "'>" + productName + "</option>");
});
}
}); //End ajax
//I need to use the variable out here....
$('#urProductSelect').change(function () {...});
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie kümmern sich um den Rahmen, in dem die Variablen definiert wurden, weil Sie bei der Definition Ihrer Variablen innerhalb der ajax -
success
Funktion alle Variablen gehören zu diesem Bereich, also einer anderen Funktion definiert außerhalb der Funktion nicht in der Lage zu "sehen", dass Variablen, die Sie definieren können, Sie außerhalb dersuccess
Funktion in einem Bereich, der für jede andere Funktion wird in der Lage sein zu "sehen" wie der Globale Rahmen, aber das ist sowas von chaotisch. Werfen Sie einen Blick auf dieses Buch, Es wird Ihnen zeigen, ein paar gute Beispiele zu Umfang und Verschlüsse zu:http://jqfundamentals.com/book/index.html#example-2.44
Definieren von Variablen an einem Ort wie, dass Sie in Reichweite der beiden Funktionen,
wie
Innerhalb von $.ajax benutzen Sie als
Denke ich besser zu erstellen callback-Funktion:
Können Sie ändern, zum Beispiel
var productID
zuwindow.productID
um Sie weltweit. Denken Sie daran achten Sie bei der Verwendung von globalen Variablen als naming-Probleme ins Spiel kommen können.