无法从XMLHttpRequest中的文件获取JSON结果

时间:2013-06-20 22:34:19

标签: php javascript mysql json xmlhttprequest

我在使用json文件中的数据填充请求时遇到问题...数据从Mysql DB中提取并在脚本目录中的JSON文件中格式化...

GET请求可能有问题吗?我只想要返回json文件,这样我就可以使用它内部的键/值对...

任何建议都将不胜感激。

function fetchData($str){

    $queryAll = "select name,value,date from chart where id <= (select max(id) from chart) limit 50";

    $dateValue = mysql_query($queryAll);
    $pushed = array();

    while($row = mysql_fetch_array($dateValue,MYSQL_ASSOC)){
        $key = array_shift($row);
        $value = array_shift($row);
        $date = array_shift($row);

        if(strcmp("$str",$key) == 0){
            $myArray = array($key, $value, $date);
            array_push($pushed,$myArray);
         }
    }
    $jsonFile = json_encode($pushed);
    $jsonOpenFile = fopen("../scripts/$str.json","w+") or exit("Unable to open file!");
    $jsonWriteOut = fwrite($jsonOpenFile,$jsonFile);

}
fetchData("blabla");
?>
<script>

function Graph(JsonVal){

    var xmlhttp = new ajaxRequest();

    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)
        {
            var jsondata=eval("("+xmlhttp.responseText+")");
            var returned = jsondata.items
            var output; 
            for(var i=0; i<returned.length;i++){
                output += "<p>";
                output += returned[i];
                output += "</p>";
             }
             document.getElementById("MyGraph").innerHTML=output
         }
    }

    xmlhttp.open("GET","../scripts/"+JsonVal+".json",true);
    xmlhttp.send(null);
}

</script>

<div id="MyGraph" onload="Graph();"></div>

0 个答案:

没有答案