用Ajax读取JSON格式的数据

  用Ajax读取JSON格式的数据,也需要先用XMLHttpRequest对象的responseText属性读取,然后再用Function构造返回JSON对象的方法,能过方法创建JSON对象。代码如 下:

  1、Client - helloworld.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
>
<html>
<head>
<title>Ajax Hello World</title>
<script type="text/javascript">
var xmlHttp;

function createXMLHttpRequest(){
    if(window.ActiveXObject){
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if(window.XMLHttpRequest){
        xmlHttp = new XMLHttpRequest();
    }
}

function startRequest(){
    createXMLHttpRequest();
    try{
        xmlHttp.onreadystatechange = handleStateChange;
        xmlHttp.open("GET", "data.txt", true);
        xmlHttp.send(null);    
    }catch(exception){
        alert("您要访问的资源不存在!");
    }
}

function handleStateChange(){    
    if(xmlHttp.readyState == 4){        
        if (xmlHttp.status == 200 || xmlHttp.status == 0){
            // 取得返回字符串
            var resp = xmlHttp.responseText;
            // 构造返回JSON对象的方法
            var func = new Function("return "+resp);
            // 得到JSON对象
            var json = func( );
            // 显示返回结果
            alert("JSON's value: " + json.info + "(" + json.version + "v)");
        }
    }
}
</script>
</head>
<body>
    
<div>
        
<input type="button" value="return ajax JSON's value"
                onclick
="startRequest();" />
    
</div>
</body>
</html>

 

2、Server - data.txt

{
    info: "hello world!",
    version: "2.0"
}

附源码:JOSN.rar

相关文章:

posted on 2006-05-28 17:39  传说一梦  阅读(1678)  评论(0编辑  收藏  举报

导航