在我的代码中,我尝试使用 AJAX 来获取模板文件的内容并将其作为字符串返回,我对此发出警告。这导致undefined
,但是,如果不是return xmlhttp.responseText
我这样做,alert(xmlhttp.responseText)
我会得到我想要的结果。
我可以将 AJAX 内容作为函数外的字符串返回吗??
alert(getFile());
function getFile() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function stateChanged() {
if (xmlhttp.readyState == 4)
return xmlhttp.responseText;
}
xmlhttp.open("POST","/template.html", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send();
}
XMLHttpRequest 是异步的。您应该使用如下回调
getFile(alert);
function getFile(callback) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function stateChanged() {
if (xmlhttp.readyState == 4)
callback(xmlhttp.responseText);
}
xmlhttp.open("POST","/template.html", true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send();
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句