我对JS很陌生,尝试创建一个简单的页面,实现以下功能:
下面的代码段中,第6行会在控制台打印undefined。你有任何想法如何从getStatus函数中返回“statuses”吗?是否需要在第5和第6行之间设置一些延迟?
谢谢!
- 输入某个服务器的IP地址
- 向该服务器发送GET请求
- 解析GET响应
- 将筛选后的行添加到HTML页面的表格中。
下面的代码段中,第6行会在控制台打印undefined。你有任何想法如何从getStatus函数中返回“statuses”吗?是否需要在第5和第6行之间设置一些延迟?
谢谢!
$("input[type='text']").keypress(function(event){
if(event.which === 13){
var address = $(this).val();
var urlStat = 'http://'+address+':666/bla?open=stats';
var status = getStatus(urlStat);
console.log(status);
$("input[type='text']").val('');
$('table').append("<tr><th>"+address+"</th><th><ul></ul></th><th></th></tr>");
}
});
function getStatus(url){
var xhr = new XMLHttpRequest;
xhr.open("GET", url);
xhr.send();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var regexStatus = /(\w+ state:.*?)</g
var response = xhr.responseText;
var statuses = response.match(regexStatus);
console.log('Inside function getStatus'+statuses);
return statuses;
};
}
};