函数 returns 在 Javascript 中未定义
Function returns undefined in Javascript
无法弄清楚如何从这个函数中 return 值(字符串):
function loadPage(url) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, true);
xhttp.send();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
//var html = xhttp.responseText
var html = document.documentElement.outerHTML;
return html
}
}
}
console.log(loadPage("http://stops.lt/vilnius/#trol/2/a-b"))
当我在 xhttp.onreadystatechange
中使用 console.log(html)
时,它打印出正确的结果,但我不明白如何 return loadPage(url)
。尝试了 return xhttp.onreadystatechange
和 return xhttp.onreadystatechange()
以及 none 这些作品。
函数加载页面是异步的,需要使用回调函数(或Promise):
function loadPage(url, cb) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, true);
xhttp.send();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
//var html = xhttp.responseText
var html = document.documentElement.outerHTML;
cb(html);
}
}
}
loadPage("http://stops.lt/vilnius/#trol/2/a-b", function(html){
console.log(html);
});
无法弄清楚如何从这个函数中 return 值(字符串):
function loadPage(url) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, true);
xhttp.send();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
//var html = xhttp.responseText
var html = document.documentElement.outerHTML;
return html
}
}
}
console.log(loadPage("http://stops.lt/vilnius/#trol/2/a-b"))
当我在 xhttp.onreadystatechange
中使用 console.log(html)
时,它打印出正确的结果,但我不明白如何 return loadPage(url)
。尝试了 return xhttp.onreadystatechange
和 return xhttp.onreadystatechange()
以及 none 这些作品。
函数加载页面是异步的,需要使用回调函数(或Promise):
function loadPage(url, cb) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, true);
xhttp.send();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
//var html = xhttp.responseText
var html = document.documentElement.outerHTML;
cb(html);
}
}
}
loadPage("http://stops.lt/vilnius/#trol/2/a-b", function(html){
console.log(html);
});