扯淡篇:
jQuery EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。
jQuery EasyUI是基于JQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。
jQuery EasyUI有以下特点:
1、基于jquery用户界面插件的集合
2、为一些当前用于交互的js应用提供必要的功能
3、EasyUI支持两种渲染方式分别为javascript方式(如:$('#p').panel({...}))和html标记方式(如:class="easyui-panel")
4、支持HTML5(通过data-options属性)
5、开发产品时可节省时间和资源
6、简单,但很强大
7、支持扩展,可根据自己的需求扩展控件
----以上内容来自百度君----
 
由于项目中要用到树结构和表格数据等功能,因此选择了easy ui。在此之前对她只是简单的了解,经过项目的开发有了进一步的理解,本文主要分享一下我在使用tree组件过程中的一些心得,把我遇到的一些问题分享给大家。
附:http://www.jeasyui.com/官网地址可以查看相关API和demo
  http://www.jeasyui.net/中文地址
 
tree组件的属性和事件,方法都可以在官网上找到,这里我就不多啰嗦了,本文我主要分享下请求跨域的数据(这个我在网上找了很久也没找到一个案例)的使用。
easy ui通过url属性只能请求到同域的数据,网上看到有大神提供的解决方法是修改源文件----》http://blog.csdn.net/shuo188/article/details/48300327
我是通过loader属性来实现的,代码如下

loader: function() {
$.ajax({
type: "get",
url: url,
dataType: 'jsonp',
data: data,
success: function(data) {
if(data.code == 0) {
var oriArr = data.content; //原始数据
var newArr = new Array(); //保存解析之后的数据
for(i = 0; i < oriArr.length; i++) {
notExist = true;
for(j in newArr) {
if(newArr[j].id == oriArr[i].channel) { //如果新数组中已经存在了当前的设备id,则将当前设备当做child保存
notExist = false; //将flag赋值为false,防止再次生成一级目录
var child = {};
child.id = newArr[j].id + j;
child.text = oriArr[i].kssj + "-" + oriArr[i].jssj;
child.attributes = {
bdt: oriArr[i].kssj,
edt: oriArr[i].jssj,
channel: oriArr[i].channel
};
newArr[j].children.push(child);
break;
}
}
if(notExist) { //生成一级目录
if(oriArr[i].channel == "undefind" || oriArr[i].channel == null) {
break;
} else {
var tree = {};
tree.id = oriArr[i].channel;
tree.text = oriArr[i].sbmc;
tree.state = "closed";
tree.children = [];
var child = {};
child.id = tree.id + i;
child.text = oriArr[i].kssj + "-" + oriArr[i].jssj;
child.attributes = {
bdt: oriArr[i].kssj,
edt: oriArr[i].jssj,
channel: oriArr[i].channel
}
tree.children.push(child);
newArr.push(tree);
}
}
};
$("#tree" ).tree("loadData", newArr);
}
},
error: function() {
error.apply(this, arguments);
}
});
}

在解决了跨域的问题之后,又遇到了一个问题,那就是请求回来的数据怎么渲染到树结构中,最后通过查看API找到loadData方法

最后欢迎大家进行讨论交流

 
 
 
 
 

easy ui Tree请求跨域数据的更多相关文章

  1. Vue中如何使用axios请求跨域数据

    1.axios不支持jsonp,因为axios的作者觉得jsonp不太友好,推荐用CORS方式更为干净: 2.在使用axios发送请求时,服务器端设置 res.header("Access- ...

  2. Vue(项目踩坑)_解决vue中axios请求跨域的问题

    一.前言 今天在做项目的时候发现axios不能请求跨域接口 二.主要内容 1.之前直接用get方式请求聚合数据里的接口报错如下 2.当前请求的代码 3.解决方法 (1)在项目目录中依次找到:confi ...

  3. day78_淘淘商城项目_11_单点登录系统实现 + 用户名回显 + ajax请求跨域问题详解_匠心笔记

    课程计划 1.SSO注册功能实现 2.SSO登录功能实现 3.通过token获得用户信息 4.ajax跨域请求解决方案--jsonp 1.服务接口实现   SSO系统就是解决分布式环境下登录问题的,本 ...

  4. 百万年薪python之路 -- 请求跨域和CORS协议详解

    楔子 什么是同源策略 同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.当一个浏览器的两个tab ...

  5. 解决ajax请求跨域

    跨域大部分需要通过后台解决,引起跨域的原因: 3个问题同时满足 才可能产生跨域问题,即跨域(协议,主机名,端口号中有一个不同就产生跨域) 下面是解决方法 方法一 // ajax请求跨域 /* *解决a ...

  6. 处理Ajax请求跨域问题

    ajax跨域的原理 ajax出现请求跨域错误问题,主要原因就是因为浏览器的“同源策略”. CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resourc ...

  7. ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

    前言 最近公司项目进行架构调整,由原来的三层架构改进升级到微服务架构(准确的说是服务化,还没完全做到微的程度,颗粒度没那么细),遵循RESTFull规范,使前后端完全分离,实现大前端思想.由于是初次尝 ...

  8. django 前端请求跨域问题解决

    django 前端请求跨域问题解决 笔者之前在做django-restful-api开发的时候,在前端请求页面发送请求的时候直接出现301,域名重定向的问题,经过一番查阅资料,终于得到了非常完美的解决 ...

  9. 在ABP的Web层中实现复杂请求跨域访问

    在最近的项目中,后端使用ABP,前端采用React,前后端完全分离.其中大部分接口都通过WebApi层调用,项目中未使用Session.但最后在添加一个网站的验证码验证留言功能时,使用了Session ...

随机推荐

  1. Implement Queue using Stacks(用栈实现队列)

    Implement the following operations of a queue using stacks. push(x) -- Push element x to the back of ...

  2. 做ppt经常使用站点

    推荐一下做PPT经常使用的站点 一.字体 http://font.chinaz.com 二.ppt模板:演界网 三.图标 http://www.easyicon.net/

  3. hdu2993之斜率dp+二分查找

    MAX Average Problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  4. 关于Mac终端故障一直出现 [进程已完毕]

    终端已打开就出现以下信息.无法输入不论什么的命令 Last login: Mon Aug 18 10:00:36 on ttys000 [进程已完毕] 原因:不知谁改动了 终端->偏好设置-&g ...

  5. Asp.net mvc 知多少(四)

    本系列主要翻译自<ASP.NET MVC Interview Questions and Answers >- By Shailendra Chauhan,想看英文原版的可访问http:/ ...

  6. java萌新尝试搭建WordPress记录

    问题1:安装好PHP环境没找好mysql路径,导致不能调用数据库模块 解决方案:重装一次,参考链接 https://www.cnblogs.com/yangxia-test/p/4174372.htm ...

  7. oracle如何连接别人的数据库,需要在本地添加一些配置

    2.oracle如何连接别人的数据库,需要在本地添加一些配置 1.找到 listener.ora 文件,打开(一般在 C 文件夹) ORCL = (DESCRIPTION = (ADDRESS = ( ...

  8. Effective Java 第三版——8. 避免使用Finalizer和Cleaner机制

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  9. 【CSS3】内联、内部、外部样式,样式优先级、层叠、继承

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  10. iOS tableview和 Collection复用机制

    TableView的重用机制,为了做到显示和数据分离, tableView的实现并且不是为每个数据项创建一个tableCell.而是只创建屏幕可显示最大个数的cell,然后重复使用这些cell,对ce ...