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的核心代码。

这样就完成了数组的处理!异步数组数据传递!

js对ajax返回数组的处理介绍

郑重声明:本网站发布的内容(图片、视频和文字)以及用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注