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返回数组的处理的更多相关文章
- js处理ajax返回的json数组
一.json对象和json数组的区别 jsonObject = {} # json对象 jsonArray=[{},{}] # json数组 二.数据处理 前台接收到后台传过来的json数组实际上是一 ...
- js访问php,返回数组时的注意事项
用ajax访问php脚本返回值是数组的时候,php端需要使用json_encode()函数进行转码成json字符串,js端需要用JSON.parse()来吧json字符串转换成数组或对象. 直接返回会 ...
- Thinkphp 零散知识点(caa/js路径,引入第三方类,ajax返回,session/cookie)
一.关于JS和CSS路径问题 1.找路径是从入口文件index.php来找的,而不是从文件本身所在位置来找, 因为我们访问时是访问的入口文件 2.在存放JS和CSS的时候可以放到public文件夹下 ...
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可)
js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可) 一.总结 ajax读取json和读取普通文本,和获 ...
- 用JS编写一个函数,返回数组中重复出现过的元素
用JS编写一个函数,返回数组中重复出现过的元素,见下面的代码: , , , , , , , ]; var getRepeat = function (arr) { var obj = {}; , le ...
- jquery load加载页面内ajax返回的div不能响应页面js的问题的解决方案
1. 前言 由于项目需要,需要load一个页面并保持ajax返回的div能响应其页面内的JS的click事件.这个不是 解决用jquery load加载页面到div时,不执行页面js的问题 这类问题, ...
- 使用spin.js优化等待ajax返回时的页面效果
[本文出自天外归云的博客园] 最近在做一个JIRA信息统计的系统,在统计JIRA关联信息的过程中由于需要等待ajax返回结果到前端,时间较长,所以要添加一段等待时的loading画面,使用spin.j ...
随机推荐
- android本地定时通知
android本地通知略有不同,分为立即触发和延时触发 1.即时通知 android默认的Notification为立即触发 Intent intent = new Intent(Intent.ACT ...
- div a块状布局
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Linq 中的distinct去重
Linq的Distinct和T-Sql的distinct一样,可以将重复的结果集去重注意: 1 distinct去重记录要求每个字段都重复时,才算重复对象,这与sql一样2 distinct语句可以和 ...
- acrobat GetSize 返回 x,y 值单位
GetSize:LPDISPATCH GetSize();Description:Gets a page’s width and height in points.Parameters:Return ...
- C++Primer学习笔记(二、基础)
1.两种初始化方式,直接初始化语法更灵活,且效率更高. ); // 直接初始化 direct-initialization ; // 赋值初始化 copy-initialization 2.const ...
- 常见 PL.SQL 数据库操作
Oracle PL/SQL 1, Alt +E 2, 默认大写功能, 解析SQL原则,Comment,UnComment. 3, 触发Trig,使用Test Window. 4, Compile In ...
- 24种设计模式--命令模式【Command Pattern】
今天讲命令模式,这个模式从名字上看就很简单,命令嘛,老大发命令,小兵执行就是了,确实是这个意思,但是更深化了,用模式来描述真实世界的命令情况.正在看这本书的你,我猜测分为两类:已经工作的和没有工作的, ...
- windows phone 之手势识别(Manipulation)
在Windows Phone 7的多触摸屏上可以检测到至少四根同时存在的手指,并且一起操作使触摸屏充分发挥效果. 在silverlight开发中通过事件来实现触屏事件的检测,包括低级别的和高级别的接口 ...
- .net平台下socket异步通讯
1,首先添加两个windows窗体项目,一个作为服务端server,一个作为客户端Client 2,然后添加服务端代码,添加命名空间,界面上添加TextBox控件 using System.Net; ...
- linux vim 基本操作
(一定要在英文输入法的状态下才有效)vi:实际上linux 上的 vi 不是真正的 vi,而是 vim;纯的 vi只在某些 unix 系统上还存在纯 的vi里面不支持退格键盘了,当按退格键盘以后,不是 ...