ajax返回json數據

<!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 style="font-family:Arial;line-height:150%">
 <h1>Ajax利用JSON進行前後臺交互</h1>
 <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 style="color:red;">Ajax返回的JSON字符串:</span><br/>'
            + json + '<br/><br/><span style="color:red;">解析出來的結果爲:</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);
 }
?>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章