<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ajax json test</title>
<script language="javascript" src="js/jquery-1.8.1.js"/></script>
</head>
<body >
<h2>Ajax利用JSON进行前后台交互</h2>
<a href="javascript:getAllUsers();">获取所有用户信息</a> <br/>
<!-- 用于显示返回结果 -->
<div id="users"></div>
</body>
</html>
<script type="text/javascript">
function getJson(RequestData,URL){
var reJson;
$.ajax({
type:'POST',
url:URL,
data:RequestData,
async:false, //为了简便,设置为同步操作
cache: false,
success:function(responseData){
reJson=responseData;
}
});
return reJson;
}
function getAllUsers(){
var url = "json.php";
var request = 'action=get_all_users';
//从后台获取并解析,由于上面封装ajax采用的是同步返回,
//所以这样操作能成功获取返回数据
var json = getJson(request,url);
var users = eval('('+ json +')');//将字符串转化为json对象
var usersHtml = '<br/><span >Ajax返回的JSON字符串:</span><br/>'
+ json + '<br/><br/><span >解析出来的结果为:</span><br/>';
for(var i=0;i<users.length;++i){
usersHtml += 'userId = ' + users[i].userId + '<br/>'
+ 'userName = ' + users[i].userName + '<br/>';
}
//把构造的HTML利用jQuery动态显示到页面
$('#users').empty().html(usersHtml);
}
</script>
<?php
//接受请求参数并根据参数选择操作
if(isset($_POST['action'])&&$_POST['action']!=""){
switch($_POST['action']){
case 'get_all_users': getAllUsers(); break;
default:
}
}
//处理请求:以JSON格式返回所有用户信息
function getAllUsers(){
$users = array(
array("userId"=>1,"userName"=>"Raysmond"),
array("userId"=>2,"userName"=>"雷建坤"),
array("userId"=>3,"userName"=>"Rita")
);
echo json_encode($users);
}
?>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。