如何在收到AJAX响应后操作数据

时间:2012-01-23 11:06:43

标签: javascript ajax

大家好我正在建立一个音乐下载网站,我可以让用户下载歌曲。 让我们来揭示整个场景。 我有一个菜单,其中每个menuItem都有一个链接,每个链接都有一个唯一的ID。基于点击链接,在id的帮助下,我正在准备参数,该参数是文件下载的绝对路径,我正在使用ajax检索这个,我在表中显示响应数据。但我无法操纵我通过ajax获得的数据。请帮帮我。

我的代码如下: 我在每个menuclick上调用此函数,它获取电影歌曲请求的绝对路径。

function call(i) {
    var xmlhttp;
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("placeholder").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST", "./SongsDemoList.jsp?path=" + document.getElementById(i).value, true);
    xmlhttp.send();
}

现在这里SongsDemoList为每首歌曲都有一个锚标签,但我无法点击链接。 请帮助我..

1 个答案:

答案 0 :(得分:0)

xmlhttp对象有一个名为responseText的属性,它是服务器发回的文本(如果有的话)。

onReadyStateChange函数当前将id为“placeholder”的元素的innerHTML设置为接收到的文本,但是您可以对xmlhttp对象的responseText执行任何操作。例如,如果您有一个loadVideo函数,可以根据服务器发回的内容加载视频,您可以这样调用它:

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        loadVideo(xmlhttp.responseText);
    }
}