您的位置:首页 > 其它

Ajax返回数据类型

2015-08-06 16:28 316 查看
test1.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function $(id){
return document.getElementById(id);
}

function checkName(){
//创建对象
if(window.XMLHttpRequest){
xmlhttp = new XMLHttpRequest();
}else{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
//code for IE6,IE5
}
//接收用户名
var username = $("username").value;
//当服务器响应就绪时执行函数
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
//返回的是文本格式 alert(xmlhttp.responseText);

//返回的是XML格式
var mes = xmlhttp.responseXML.getElementsByTagName("mes");
//获取mes节点
//表示第一个mes节点的第一个子节点的值
var mes_val = mes[0].childNodes[0].nodeValue;
window.alert(mes_val);

//返回的是JSON格式
//获取字符串
//var mes = xmlhttp.responseText;
//使用eval()函数将字符串转化为对象
//var mes_obj = eval("("+mes+")");
//window.alert(mes_obj.res);
//window.alert(mes_obj.error);
//也可以var dogs = [{"name":"dog1","age":"2"},{"name":"dog2","age":"3"}];访问第一个对象则是dogs[0].name
}
}
xmlhttp.open("GET","test2.php?username="+username,true);
xmlhttp.send();
}
</script>
</head>
<body>
<form action="" method="">
用户名:<input type="text" id="username" />
<input type="button" value="检查用户名" onClick="checkName();" />
</form>
</body>
</html>

test2.php

<?php
//使浏览器返回的数据是XML格式
header("Content-Type: text/xml;charset=utf-8");
//使浏览器不要缓存数据
header("Cache-Control: no-cache");
$username = $_GET['username'];
$info = "";
if($username == "kong"){
//返回XML格式
$info .= "<res><mes>用户名已经存在</mes></res>";
//返回JSON格式(header改成text/html)
//$info = '{"res":"用户名已经存在","error":"错误"}';
}else{
$info .= "<res><mes>用户名可以使用</mes></res>";
}
echo $info;
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: