問題は、変数と関数からの戻り値にあります。このコードは、mysql データベースに接続し、2 つの都市間の距離を選択するのに役立ちます。変数ret_pomoc
は距離です。
の値はret_pomoc
、たとえば in の別の関数で使用する必要がありますanother_fuction()
。
コードは次のとおりです。
var ret_pomoc;
var vzdialenost;
function ajaxFunction(mesto_1,mesto_2){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data
// sent from the server and will update
// div section in the same page.
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('mapa2');
ajaxDisplay.value = ajaxRequest.responseText;
ret_pomoc=ajaxDisplay.value; //HERE IS KEY VARIABLE
console.log(ret_pomoc); // 1. Here it is OK show 91
}
}
console.log(ret_pomoc); // 2. Here it does not work show undefined and return does not work
// Now get the value from user and pass it to
// server script.
var z_mesta = mesto_1;
var do_mesta = mesto_2;
var queryString = "?z_mesta=" + z_mesta ;
queryString += "&do_mesta=" + do_mesta;
ajaxRequest.open("GET", "pristup.php" +
queryString, true);
ajaxRequest.send(null);
}
ret_pomoc
別の関数で値を使用する必要があります
function another_function(){
vzdialenost=ajaxFunction('Bratislava','Nitra') + ajaxFunction('Poprad','Nitra') ;
}