0

使用 ajax 时,这段代码会显示 javascript 内容吗?

 var xmlhttp;
var nocache = 0;



function further($id)
{
    xmlhttp=getXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    var url="further.php?Pid=" + $id;
    //url=url+"cachestopper=" + Math.random();

    xmlhttp.onreadystatechange=handleAjaxResponse;
    xmlhttp.open("GET",url,'&nocache = '+nocache,true);
    xmlhttp.send(null);
}

function handleAjaxResponse()
{
    if (xmlhttp.readyState==4)
    {
        document.getElementById("output").innerHTML = xmlhttp.responseText;

    }else{
        document.getElementById("main").innerHTML = "";
    }
}

function getXmlHttpObject()
{
    if (window.XMLHttpRequest)
    {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    if (window.ActiveXObject)
    {
        // code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}

我知道这适用于 html 和文本内容,但就我而言,我需要生成一个使用 javascript 生成的图表,确切地说是 d3.js。将 .innerHTML = xmlhttp.responseText; 为此工作?如果没有,我将不得不使用什么来生成 javascript 内容?

4

1 回答 1

1

打开 XMLHttpRequest 对象时代码中的一个小错误。

xmlhttp.open("GET",url,'&nocache = '+nocache,true);

It should be 
 xmlhttp.open("GET",url+'&nocache = '+nocache,true);

试试这个http://jsfiddle.net/nubgw/7/

于 2012-09-23T05:52:42.240 回答