本篇文章主要是對js對ajax返回數組的處理進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所協助
引言:ajax非同步傳輸,可以傳輸字串,但是數組這樣的資料,就不太好傳遞了,這個時候怎麼辦呢? 答案是可以通過json來處理,後台將資料資料進行json編碼! 然後用戶端,通過js來進行解析。 這樣問題就解決了!json是一種很好的資料格式! 我做的是非同步判斷某堂課是否處於上課狀態,會從後台介面中擷取數組資料!共四堂課, 代碼如下: 代碼如下:function ajaxcheckedlessonsAction(){ //3583 語文 8班 //1500 語文 9班 //2717 物理 8班 //1612 物理 9班 $whereLessons = array(); $whereLessons['lessons.id IN(?)'] = array(3583, 1500, 2717, 1612); $daoLessons = new dao_lessons(); $alllessons = $daoLessons->getLessons($whereLessons); //print_r($alllessons);exit; $lessonsChecked = array(); foreach ($alllessons as $lessons) { if ($lessons['id'] == 3583) { $lessonsChecked['8yuwen'] = $this->verifyCheckedLessons($lessons['startime'], $lessons['endtime']); } elseif ($lessons['id'] == 1500) { $lessonsChecked['9yuwen'] = $this->verifyCheckedLessons($lessons['startime'], $lessons['endtime']); } elseif ($lessons['id'] == 2717) { $lessonsChecked['8wuli'] = $this->verifyCheckedLessons($lessons['startime'], $lessons['endtime']); } elseif ($lessons['id'] == 1612) { $lessonsChecked['9wuli'] = $this->verifyCheckedLessons($lessons['startime'], $lessons['endtime']); } } $json = json_encode($lessonsChecked); echo $json; } 介面處理資料,將資料json化, 前台對json資料進行解析 代碼如下://進入頁面就進行的處理 $.ajax({ type: "POST", url:"/default/index/ajaxcheckedlessons", data:"", success:function(response){ if(response){ var data = eval('('+response+')'); if(data['8yuwen']){ $("#8yuwen").attr("style","color:red;"); }else{ $("#8yuwen").attr("style",""); } if(data['8wuli']){ $("#8wuli").attr("style","color:red;"); }else{ $("#8wuli").attr("style",""); } if(data['9yuwen']){ $("#9yuwen").attr("style","color:red;"); }else{ $("#9yuwen").attr("style",""); } if(data['9wuli']){ $("#9wuli").attr("style","color:red;"); }else{ $("#9wuli").attr("style",""); } }else{ alert("error"); } } }); 紅色部分就是json的核心代碼。 這樣就完成了數組的處理!非同步數組資料傳遞!