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

 本篇文章主要是对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的核心代码。
 
这样就完成了数组的处理!异步数组数据传递!
 

时间: 2024-08-16 13:44:56

js对ajax返回数组的处理介绍的相关文章

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

引言:ajax异步传输,可以传输字符串,但是数组这样的数据,就不太好传递了,这个时候怎么办呢? 答案是可以通过json来处理,后台将数据数据进行json编码! 然后客户端,通过js来进行解析. 这样问题就解决了!json是一种很好的数据格式! 我做的是异步判断某堂课是否处于上课状态,会从后台接口中获取数组数据!共四堂课, 代码如下: 复制代码 代码如下: function ajaxcheckedlessonsAction(){        //3583 语文 8班         //1500

js jax 函数-js中Ajax返回的值怎么当函数返回值供别的函数调用?

问题描述 js中Ajax返回的值怎么当函数返回值供别的函数调用? 如上图代码 我调用时返回的是undefined 解决方案 改为同步,而且你的回调里面返回值没用,并不是你的getTotalIntegral的返回值,还有以后代码,不要发截图.看桌就烦 function getTotalIntegral(){ //...原来的代码 var rst=false; $.ajax({ async:false,/////////////同步 success:function(data){ if(data.s

用js实现随机返回数组的一个元素_javascript技巧

复制代码 代码如下: <SCRIPT LANGUAGE="JavaScript"> <!-- var test = ["aa","bb","cc","dd","ee"]; document.write(test[Math.floor(Math.random()*test.length)]); setInterval("location.reload()&quo

js克隆对象、数组的常用方法介绍_javascript技巧

Ext的两种克隆的方法: 可以克隆对象.数据等:var newJson = Ext.clone(json); 只能克隆数组:var newJson = Ext.Array.clone(json); JQuery的方法: 深复制[可以迭代]:var newJson = jQuery.extend(true,{}, json); 浅复制[不能迭代]:var newJson = jQuery.extend({}, json); var newJson = $.map(json,function (n)

js操作ajax返回的json的注意问题!_javascript技巧

复制代码 代码如下: var result = unescape(xmlhttp.responseText); var j = eval("(" + result + ")"); 不可以 var j = eval( result ); JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或

mvc ajax返回json为2维数组,js代码怎么遍历 ?

问题描述 mvc ajax返回json为2维数组,js代码怎么遍历 ? 后台controller中返回了一个json,其中data是一个2维数组: return new JsonResult() { Data = data, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 请问在前端js中,ajax请求得到之后应该怎么处理呢?比如遍历.. success: function (data) { var a = data; } 这样貌似不行

怎么才能得到ajax返回值 运用到其他js方法当中?

问题描述 今天想把ajax的返回值运行到其他的js当中,弄了好久都没有结果?求解决方法啊? var xmlHttp; function createXMLHttpRequest(){ if(window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else { xmlHttp = new XMLHttpRequest(); } } function sendServer() { var keyw

js获取通过ajax返回的map型的JSONArray的方法

 下面是js获取通过ajax返回的map型的JSONArray的详细代码,需要的朋友可以参考下 代码如下: for(var i in datares){  if (datares.hasOwnProperty(i)) {  sel.append("<option value='"+datares[i].deptid+"'>"+datares[i].deptname+"</option>");  }  }   

ajax返回的JS不生效

问题描述 一个页面点击submit后,这个submit按钮就消失display="none";这个页面会通过ajax返回来数据,我在这个返回来的数据中加上了display="block",数据正确返回显示出来,但submit这个按键却没有出现.返回来的数据是:echo"<scritp>bun=document.getElementById('submit');bun.style.display='block'</script>内容字