在JavaScript中使用json.js:Ajax项目之GET请求(同步)
1、用php编写一个提供数据的响应程序(phpdata.php)
<?php $arr=array(1,2,3,4); //将数组编码为JSON格式的数据 $jsonarr=json_encode($arr); //输出JSON格式的数据 echo $jsonarr; ?>
2、客户端(ajax.html)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="json.js"></script> <script type="text/javascript"> function getXHR(){//获取跨浏览器的XmlHttpRequest对象 var req; if (window.XMLHttpRequest) { req= new XMLHttpRequest(); }else if(window.ActiveXObject){ req= new ActiveXObject("Microsoft.XMLHTTP"); } return req; } function getServerData(){ //获取跨浏览器的XHR对象 xhr = getXHR(); //设置随机数,避免AjaxURL的HTTP缓存 rand= Math.random(1); url="phpdata.php?id="+rand; //XmlHttpRequest对象的open()方法; //创建一个新的HTTP连接。 //可以是GET或者POST这样的所有有效的请求类型。 //URL应该是一个完整的路径地址。 //false或者true参数控制send()方法是会阻塞(等待服务器返回数据)还是立即返回。 xhr.open("GET",url,false); //XmlHttpRequest对象的send()方法; //向服务器发出请求。 //基于open()方法的false(同步)或者true(异步)控制,或者等待服务器数据,或者立即返回 //括号中content参数,在post类型中用到,它可以用来向服务器发送数据 xhr.send(); //XmlHttpRequest对象的responseText属性:以字符串形式表达服务器的响应内容 json=xhr.responseText; //将json数据转为js数组 jsArr=json.parseJSON(); div=document.getElementById("jsonData"); div.innerHTML=jsArr[1]; } </script> </head> <body> <a href="#" onclick="getServerData()">Get Server Data</a> <div id="jsonData"></div> </body> </html>
输出结果:2
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。