ここに問題の洞察はありますか?実行すると、コードは何も得られません。ページにテキストは表示されません。コメント行のコメントを外すと、xmlの結果が表示されます。なぜ私はそれを変数として渡すことができないのですか? (関数が呼び出されているので、私は、FYI、警告を得るか。)xmlhttp.responseTextを返すことができません?
<script type="text/javascript">
function loadXMLDoc(parameterString)
{
alert("loadXMLDoc has been called.");
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
//document.getElementById("xmlResults").innerHTML = xmlhttp.responseText;
alert("Got the response!");
return xmlhttp.responseText;
}
else document.getElementById("xmlResults").innerHTML = "No results."
}
var url = "http://metpetdb.rpi.edu/metpetwebsearchIPhone.svc?" + parameterString;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
</script>
<script type="text/javascript">
$(function(){
//left out irrelevant code which creates the var "parameters"
var results = loadXMLDoc(parameters);
document.getElementById("xmlresults").innerHTML = results;
});
</script>
<body>
<div id="xmlResults"></div>
</body>
Ah!私は、非同期呼び出しから変数を返すことができないことをさらに読んでいます。私はヘルパー関数を使わなければなりません。これは絶対に不可避的に真実ですか? – Aerovistae