私の問題を再開するには、TableRow()関数から返された値(miniTable)を取得するために、多くのXMLHttpRequest()ロケットを使用しています。問題は、TableRow()関数の最後にあるalert()を使って、私が必要とする値を正確に持っていますが、TableContent2変数に "Undefined"という値があります。どうしてか分かりません!!ここで私が使用しているすべてのJSファイル(変数と変数を計算するコードは気にしないでください)。私は本当にあなたの助けが必要です。なぜなら、私は3日以来それを塞いでいるからです。再びありがとう、良い午後freinds。XMLHttpRequest()javacript
(function() {
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunction(xmlhttp);
}
};
xmlhttp.open("GET", "File1.xml", true);
xmlhttp.send();
})();
function ContentFunction(func) {
TableContent2 = TableRow();
alert(TableContent2);
}
function TableRow() {
xmlhttp3 = new XMLHttpRequest();
xmlhttp3.onreadystatechange = function() {
if (xmlhttp3.readyState == 4 && xmlhttp3.status == 200) {
texttest = myFunction2(xmlhttp3);
alert(miniTable);
return miniTable;
}
};
xmlhttp3.open("GET", "File2.xml", true);
xmlhttp3.send();
}
function myFunction2(xml) {
var xmlDoc2 = xml.responseXML;
var ObjectText;
var x = xmlDoc2.getElementsByTagName("Clip");
/*Calcule de ObjectText*/
alert(ObjectText);
return ObjectText;
}
function myFunction(xml) {
xmlhttp2 = new XMLHttpRequest();
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("Film");
xmlhttp2.onreadystatechange = function() {
if (xmlhttp2.readyState == 4 && xmlhttp2.status == 200) {
myFunction2(xmlhttp2);
}
};
xmlhttp2.open("GET", "File2.xml", true);
xmlhttp2.send();
}
のXMLHttpRequest機能することができません 'retun'非同期であるため。 – yuriy636
[非同期呼び出しからの応答を返すにはどうすればよいですか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) – yuriy636
私はすべてのコールバック関数を試して、trueをfalseにしようとしましたが、非同期呼び出しを回避するためにコードに変更を提案するのはいつもあなたの価値です。私はXMLHttpRequest()を呼び出す他の関数を呼び出すXMLHttpRequest()を呼び出す関数を使用します。 – HappyDAD