浏览 25055 次
锁定老帖子 主题:AJAX读取JSON格式数据
精华帖 (0) :: 良好帖 (0) :: 新手帖 (11) :: 隐藏帖 (2)
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-23
首先,我们随意写个JSON格式的数据文件user.txt { userName: "nihao", sex: "male", age: "23" } 下面我们写个AJAX用到一个基本的ajax.js文件一般这里我们这个文件分别写出来。 function createXMLHttpRequest() { var req; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); }else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } return req; } 另外,我们导入一个Ajax的资源文件prototype1.6.js,在结束时我上传给大家。 然后,我们建个主页面来jsontest.html测试下AJAX读取JSON格式的数据。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <!-- 导入两个js文件 --> <script type="text/javascript" src="./ajax.js"></script> <script type="text/javascript" src="./prototype1.6.js"></script> <title>jsontest.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=GB18030"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript"> var req = createXMLHttpRequest(); function startRequest(){ try{ req.onreadystatechange = handleStateChange; req.open("GET", "user.txt", true); req.send(null); }catch(exception){ alert(""); } } function handleStateChange(){ if(req.readyState == 4){ if (req.status == 200 || req.status == 0){ // 取得返回字符串 var resp = req.responseText; // 构造返回JSON对象的方法 var func = new Function("return " + resp); // 得到JSON对象 var json = func( ); // 显示返回结果 alert("userName: " + json.userName + " " + "sex: " + json.sex + " " + "age: " + json.age); } } } </script> </head> <body> <div> <input type="button" value="json's value" onclick="startRequest();" /> </div> </body> </html> 试运行结果,大家自己去调试了,在浏览器里输入http://localhost:8080/jsontest/jsontest.html即可了。 最后,给大家上传AJAX的一个js资源文件prototype1.6.js 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-06
刚刚好要用到json,谢啦
|
|
返回顶楼 | |
发表时间:2009-03-06
大哥。。你都引了prototype了.. 还自己写啥
function createXMLHttpRequest() { var req; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); }else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } return req; } 啊 |
|
返回顶楼 | |
发表时间:2009-03-06
中文出不来,是为什么?
|
|
返回顶楼 | |
发表时间:2009-06-10
var resp = req.responseText;
可以直接用:var json = eval('(' + req.responseText+ ')'); |
|
返回顶楼 | |