js對(duì)ajax返回?cái)?shù)組的處理介紹
引言:
ajax異步傳輸,可以傳輸字符串,但是數(shù)組這樣的數(shù)據(jù),就不太好傳遞了,這個(gè)時(shí)候怎么辦呢?
答案是可以通過(guò)json來(lái)處理,后臺(tái)將數(shù)據(jù)數(shù)據(jù)進(jìn)行json編碼!
然后客戶(hù)端,通過(guò)js來(lái)進(jìn)行解析。
這樣問(wèn)題就解決了!json是一種很好的數(shù)據(jù)格式!
我做的是異步判斷某堂課是否處于上課狀態(tài),會(huì)從后臺(tái)接口中獲取數(shù)組數(shù)據(jù)!共四堂課,
代碼如下:
function ajaxcheckedlessonsAction(){
//3583 語(yǔ)文 8班
//1500 語(yǔ)文 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;
}
接口處理數(shù)據(jù),將數(shù)據(jù)json化,
前臺(tái)對(duì)json數(shù)據(jù)進(jìn)行解析
//進(jìn)入頁(yè)面就進(jìn)行的處理
$.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的核心代碼。
這樣就完成了數(shù)組的處理!異步數(shù)組數(shù)據(jù)傳遞!
相關(guān)文章
談?wù)凙jax原理實(shí)現(xiàn)過(guò)程
Asynchronous javascript and xml(ajax),實(shí)現(xiàn)了客戶(hù)端與服務(wù)器進(jìn)行數(shù)據(jù)交流過(guò)程。使用技術(shù)的好處是:不用頁(yè)面刷新,并且在等待頁(yè)面?zhèn)鬏敂?shù)據(jù)的同時(shí)可以進(jìn)行其他操作2015-11-11Ajax獲取到數(shù)據(jù)放入echarts里不顯示的原因分析及解決辦法
在做一個(gè)需要用到echarts地圖的項(xiàng)目的時(shí)候,成功通過(guò)ajax獲取到了后臺(tái)提供的數(shù)據(jù),并生成了想要的JSON串。但是,放到echarts option.series[0].data里,獲取不到數(shù)據(jù)。在生成的地圖上無(wú)法看到你從后臺(tái)獲取到的值,下面小編給大家分享我的解決辦法,需要的朋友參考下2016-01-01解決微信返回上一頁(yè),頁(yè)面中的AJAX的請(qǐng)求,對(duì)Get請(qǐng)求無(wú)效的問(wèn)題
這篇文章給大家介紹微信返回上一頁(yè),頁(yè)面中的AJAX的請(qǐng)求,對(duì)Get請(qǐng)求無(wú)效的問(wèn)題分析及解決方法,需要的朋友參考下2017-01-01ajax三級(jí)聯(lián)動(dòng)的實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了ajax三級(jí)聯(lián)動(dòng)的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03AJAX應(yīng)用中必須要掌握的重點(diǎn)知識(shí)(分享)
下面小編就為大家?guī)?lái)一篇AJAX應(yīng)用中必須要掌握的重點(diǎn)知識(shí)(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08AJAX客戶(hù)端說(shuō)明,XMLHttpRequest對(duì)象
AJAX客戶(hù)端說(shuō)明,XMLHttpRequest對(duì)象...2007-01-01