我正在尝试获取sharepoint中页面的标题,以获取我需要发出ajax请求的父网站的标题
function getPageTitle(variation,option){
var xmlhttp,rootSiteTitle,url;
url=_spPageContextInfo.siteAbsoluteUrl + "/" + variation + "/_api/web?$select=Title";
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
if(xmlhttp.status == 200){
rootSiteTitle=xmlhttp.responseXML.getElementsByTagName("Title")[0].childNodes[0].nodeValue;
}
else if(xmlhttp.status == 400) {
alert('There was an error 400')
}
else {
alert('something else other than 200 was returned')
}
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
return rootSiteTitle;
}
这里当我在控制台中运行此请求时,它正在设置变量的值,但是当我在代码中使用它并调用函数时,函数返回undefined
是否因为在请求完成之前执行了return语句?如何确保仅在设置值后,函数返回值?