-6

我是 Java 和 JavaScript 的新手,我正在寻找一种方法来获取 HTTPResponse,解析.responseText使用该.indexOf方法以获取我需要的属性,然后在我创建的表格行的单元格中显示这个值html页面。有没有办法每次我得到这个单元格时更换这个单元格httpresponse

非常感谢。

var xHRObject = new XMLHttpRequest();
var url = "http://meteovarkiza.gr/";
xHRObject.open("GET", url, true);
xHRObject.send();
xHRObject.onreadystatechange = function () {
if (xHRObject.readyState==4 && xHRObject.status==200) {
    var response = xHRObject.responseText;
    var startIndex = response.indexOf("Temperature");
    startIndex += 70;
    var subResponse = response.slice(startIndex, startIndex + 4);                
            alert(subResponse);
    }
}
4

1 回答 1

1

“我尝试创建一个采用该值的对象,但之后,我无法在 html 表中显示它。”

您的问题不是很清楚,但您似乎是在说您已成功从响应文本中获取所需的特定值并放入subResponse变量中,但您不知道如何将该值放入特定元素你的页面。

如果是这样,最简单的方法是给该元素一个id

<td id="resultCell"></td>

然后在您的 JS 中执行此操作:

document.getElementById("resultCell").innerHTML = subResponse;

在您的问题标题中,您说:

“如何将 http 响应解析为字符串?”

......但你似乎已经想通了。如果您无法控制响应格式,那么我猜想结合正则表达式技巧和/或.indexOf().slice()(或者.substr()可能更好,因为在您的情况下您总是指定 4 个字符)是这样做的方法。

如果您可以设置响应的格式,则返回 JSON 字符串可能会更好,因为这样您就可以使用JSON.parse()来获取具有可直接访问属性的对象 - 不再搞乱字符串操作。

于 2012-11-26T02:52:41.230 回答