Dies ist ein Teil des Skripts zum Ziehen von Listenelementen aus SharePoint 2013. Ich versuche, zwei verschiedene Listen zu testen, weshalb ich zwei verschiedene anonyme Funktionen habe. Ich kann nicht herausfinden, wie man die pLead Variable in der ersten Funktion einstellt, um in der zweiten Funktion zu verwenden. Es macht immer die if-Anweisung in der zweiten Funktion, weil es denkt, dass die Zeichenfolge leer ist. Warum ist es so? Ich kann meinen Kopf herum scheint es, ich rede darüber:JS - Stellen Sie eine globale Variable innerhalb einer anonymen Funktion ein?
var pLead = "";
$(function() {
$.ajax({
url: "__URL__",
headers: {"Accept": "application/json;odata=verbose"},
type: "GET",
cache: false,
}).success(function (data) {
$.each(data.d.results, function(key, value) {
pLead = "TESSTT";
});
});
});
$(function() {
$.ajax({
//DTIM Projects page
url: "__URL__",
headers: {"Accept": "application/json;odata=verbose"},
type: "GET",
cache: false,
}).success(function (data) {
$.each(data.d.results, function(key, value) {
if (pLead.length === 0) { $("#ProjectLead").html(value.PL); }
else { $("#ProjectLead").html(pLead); }
});
});
});
AJAX ist asynchron. Sie müssen Versprechungen verwenden. – Hoyen
Oder Rückrufe, oder was auch immer Trick Sie verwenden möchten. –