Non sono un professionista in JavaScript e ho visto la ricerca per un lungo periodo di tempo su Internet.JavaScript ottenere variabile dalla funzione
Sto riscontrando un problema nel ricevere una variabile da un'altra funzione. Il mio codice è alla ricerca in questo modo:
var variabeltje;
$.post('js/ajax/handle_time.php', {'time': $(this).find('input').val()},
function(data) {
alert(data);
variabeltje=data;
}
);
alert(window.variabeltje);
La variabile variabeltje
deve ottenere le informazioni dai dati. Quando inserisco l'avviso sotto variabeltje=data
, funziona, ma ho bisogno della variabile di dati dopo la funzione.
Edit:
ho cambiato a quello che la gente ha detto, ora ho questo:
var XHR = $.post('js/ajax/handle_time.php', {time: $(this).find('input').val()});
XHR.done(function(data) {
console.log(data);
getData(data);
});
function getData(data) {
if(data == 'true') {
alert(data);
$(this).unbind('keypress');
$(this).html($(this).find('input').val());
}
}
Ma ora il $ (questo) non passa nella funzione. Come posso risolvere questo?
Il motivo per cui segue, a risposte, ma nessuna soluzione di ciò che si sta cercando di fare. Questo perché è difficile farlo senza più un'idea di ciò che stai cercando di fare. Ad esempio, un buon modo per risolvere il problema in questo codice è spostare l'avviso su due righe, ma questo potrebbe non funzionare nel codice attuale. – Jasper
Grazie per la risposta. Nel file handle_time.php sto verificando la convalida e sarà modificato nel database. Se viene modificato correttamente, restituirà true; E variabeltje deve ottenere il valore vero. Quindi, dopo l'avviso, voglio verificare se è vero o meno e mostrare o meno le cose. – Marnix
Bene, allora suppongo che non dovresti provare a farlo sotto la chiamata '$ .post()' (che è subito dopo che la richiesta è * inviata *) Invece, dovresti farlo all'interno della funzione che passi a ' $ .post() 'che verrà eseguito al termine della richiesta. – Jasper