Man ir kaut kas līdzīgs šim, kur tas ir vienkāršs zvans uz skriptu, kas man dod atpakaļ vērtību, virkni..
function testAjax() {
$.ajax({
url: "getvalue.php",
success: function(data) {
return data;
}
});
}
bet, ja es izsauktu kaut ko tādu
var output = testAjax(svar); // output will be undefined...
tad kā es varu atgriezt vērtību? zemāk redzamais kods arī nedarbojas...
function testAjax() {
$.ajax({
url: "getvalue.php",
success: function(data) {
}
});
return data;
}
Vienīgais veids, kā atgriezt datus no funkcijas, būtu veikt sinhrono izsaukumu, nevis asinhrono izsaukumu, taču tas bloķētu pārlūkprogrammu, kamēr tā gaidītu atbildi.
Jūs varat nodot atpakaļsaukuma funkciju, kas apstrādā rezultātu:
function testAjax(handleData) {
$.ajax({
url:"getvalue.php",
success:function(data) {
handleData(data);
}
});
}
Izsauciet to šādi:
testAjax(function(output){
// here you use the output
});
// Note: the call won't wait for the result,
// so it will continue with the code here while waiting.
Skatiet jquery docs piemēru: http://api.jquery.com/jQuery.ajax/ (aptuveni 2/3 lapas)
Jums, iespējams, ir nepieciešams šāds kods:
$.ajax({
url: 'ajax/test.html',
success: function(data) {
$('.result').html(data);
alert('Load was performed.');
}
});
Tā pati lapa... zemāk.