Volevo prendere il valore su una chiamata Ajax utilizzando una funzione. ma il valore torna sempre come non definito. valore di ritorno è solo 1 o 0.come ottenere il valore di ritorno da una chiamata ajax?
qui è il mio codice:
$(function(){
$('#add_product').click(function(){
var i = $('#product_name').val();
param = 'product_name='+i;
var value = check_product(param);
alert(value);
return false;
});
});
function check_product(param){
$.ajax({
type : 'POST',
data : param,
url : baseurl+'cart/check_product_name/',
success : function(result){
//alert(result);
return result;
}
});
}
Ciao ragazzi, ancora lavorando per ottenere questo lavoro. Ricevo il valore che ora mostra 1 o 0. Ciò che sto cercando di ottenere ora è come posso farlo nella dichiarazione if. Volevo avere qualcosa di simile. Se val = 0 restituisce true; altrimenti restituisci falso. Non sono sicuro di essere sulla buona strada per usare la funzione Ajax. Ma se c'è un modo migliore per mostrarmelo, lo apprezzerò.
$(function(){
$('#add_product').click(function(){
var i = $('#product_name').val();
param = 'product_name='+i;
check_product(param).done(function(value) {
var val = value; //waits until ajax is completed
});
if(val == 0){
return true;
} else{
return false;
}
});
});
function check_product(param){
return $.ajax({
type : 'POST',
data : param,
url : baseurl+'cart/check_product_name/'
});
}
il 'a' in 'ajax' sta per asincrono ... :) quindi è necessario eseguire le azioni che dipendono dal risultato nel gestore di successo –
È possibile fornire anche il PHP/script? hai anche controllato che PHP/script stia effettivamente ottenendo le variabili che stai passando? –
C'è anche 'async: false' per la richiesta. Non lo userei comunque: p –