1.test.html源代码
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<script language="javascript" type="text/javascript">
/*
1.创建一个新变量 request 并赋值 false。使用 false 作为判断条件,它表示还没有创建 XMLHttpRequest 对象。
2.增加 try/catch 块:
1.尝试创建 XMLHttpRequest 对象。
2.如果失败(catch (trymicrosoft)):
1.尝试使用较新版本的 Microsoft 浏览器创建 Microsoft 兼容的对象(Msxml2.XMLHTTP)。
2.如果失败(catch (othermicrosoft))尝试使用较老版本的 Microsoft 浏览器创建 Microsoft 兼容的对象(Microsoft.XMLHTTP)。
3.如果失败(catch (failed))则保证 request 的值仍然为 false。
3.检查 request 是否仍然为 false(如果一切顺利就不会是 false)。
4.如果出现问题(request 是 false)则使用 JavaScript 警告通知用户出现了问题。
*/
var request = false;
try {
request = new XMLHttpRequest(); //w3c
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request){
alert("Error initializing XMLHttpRequest!");
}
function getCustomerInfo() {
var url = "data.php";
request.open("GET", url, true); //指定连接
request.onreadystatechange = updatePage;//指定回调
request.send(null); //请求服务器
}
function updatePage() {
if (request.readyState == 4){
if (request.status == 200){
done(request.responseText);
}else if (request.status == 404){
alert("Request URL does not exist");
}else {
alert("Error: status code is " + request.status);
}
}
}
function done(data){
var json = eval("("+data+")");
alert(data);
alert(json);
var str = "";
for (var one in json) {
for(var key in json[one]) {
str += json[one][key] + ",";
}
str += "<br/>";
}
document.getElementById("jsondata").innerHTML = str;
}
</script>
<input type="button" onclick="getCustomerInfo()" value="点击测试json" />
<div id="jsondata"> </div>
2.data.php源代码
<?php
$arr=array();
$arr[] = array('name' =>'往往','nick' => '深空', 'email' => 'aa@123.com', 'website' => 'http://www.oschina.net' );
$arr[] = array('name' =>'呵呵','nick' => '玩玩', 'email' => 'bb@123.com', 'website' => 'http://www.oschina.net' );
$json_string = json_encode($arr);
echo $json_string;
?>