jquery异步加载json格式的数据
1.直接使用$.getJSON()方法是加载不了与静态界面同级别的本地的json后缀的文件。
2.解决办法:将json后缀的文件改为js后缀,这样就相当于加载了一个js文件。
解决办法:用$.getScript()方法加载后是以字符串的形式进行展示,所以需要eval()方法来将其转换成js对象。然后用了两个each方法进行遍历json数据。第二个遍历的数据是在第一个each数据的基础上进行的。
$.getScript("data_citys.js", function (data) {
data = eval(customhouse);
$.each(data.childCustomHouse, function (i, Province) {
$(".cityChoice dl").append("<dt><a>" + Province.province + "</a></dt>")
var child="<dd>"
$.each(Province.children, function (i, City) {
child +="<a>"+ City.city+"</a>";
})
child + "</dd>";
$(".cityChoice dl").append(child);
})
$(".cityChoice div span").eq(0).html(data.name).css("font-weight","bolder");
});
var customhouse = {
"name": "海关总署", "childCustomHouse": [
{
"province": "北京市", "children": [
{
"city": "北京市海关总署", "x": "12957140.380859", "y": "4854144.165039"
}]
},
{
"province": "天津市", "children": [
{
"city": "天津市海关总署", "x": "12957140.380859", "y": "4854144.165039"
}]
},
{
"province": "江苏", "children": [
{
"city": "南京市海关总署", "x": "13055615.060171", "y": "3745556.395213"
},
{
"city": "镇江市海关总署", "x": "13055615.060171", "y": "3745556.395213"
},
{
"city": "绵阳市海关总署", "x": "13055615.060171", "y": "3745556.395213"
}
]
},
{
"province": "安徽", "children": [
{ "city": "合肥市海关总署", "x": "13055615.060171", "y": "3745556.395213" },
{ "city": "芜湖市海关总署", "x": "13183825.746076", "y": "3678993.560791" },
{ "city": "蚌埠市海关总署", "x": "13066652.737935", "y": "3886469.977061" },
{ "city": "淮南市海关总署", "x": "13026305.769898", "y": "3848394.533793" }
]
},
{
"province": "福建", "children": [
{
"city": "福州市海关总署", "x": "13282472.555124", "y": "3003024.419825"
},
{
"city": "厦门市海关总署", "x": "13151164.550781", "y": "2812705.973307"
},
{
"city": "莆田市海关总署", "x": "13251984.653919", "y": "2929572.716987"
},
{
"city": "三明市海关总署", "x": "13094264.471760", "y": "3031771.614174"
},
{
"city": "泉州市海关总署", "x": "13200734.863281", "y": "2864382.832845"
},
{
"city": "漳州市海关总署", "x": "13099124.569548", "y": "2816127.438863"
}
]
},
{
"province": "广东", "children": [
{
"city": "广州市海关总署", "x": "12608484.375000", "y": "2647840.698242"
},
{
"city": "韶关市海关总署", "x": "12646207.153320", "y": "2846280.680339"
},
{
"city": "深圳市海关总署", "x": "12694429.199219", "y": "2580002.807617"
},
{
"city": "珠海市海关总署", "x": "12640819.107056", "y": "2541664.703369"
},
{
"city": "汕头市海关总署", "x": "12993460.866292", "y": "2677990.234375"
},
{
"city": "佛山市海关总署", "x": "12593796.875000", "y": "2630399.291992"
},
{
"city": "江门市海关总署", "x": "12587870.239258", "y": "2582043.375651"
},
{
"city": "东莞市海关总署", "x": "12664480.468750", "y": "2634828.491211"
},
{
"city": "中山市海关总署", "x": "12620242.502848", "y": "2574047.007243"
},
{
"city": "潮州市海关总署", "x": "12983319.702148", "y": "2711945.037842"
}
]
}
]
}
<div class="city">
<button>南京市</button><span></span>
<div class="cityChoice hide">
<a class="close"><span aria-hidden="true">×</span></a>
<div><span></span>  当前城市:<span>信阳市</span> <a>设为默认城市</a></div>
<hr />
<dl></dl>
</div>
</div> .city {
position:absolute;left:10px;top:20px;}
.city button {
background-color:#fff;border:1px solid #eee;
padding:0 22px;height:40px;
}
.city > span {
background:url(../images/search.png) -152px 30px;display: inline-block;
width: 20px;
height: 20px;
/* margin-left: 30px; */
position: relative;
/* position: absolute; */
left: -20px;
top: 7px;
}
.city .cityChoice{
width:300px;max-height:370px;overflow-y:auto;
background-color:#fff;
border:2px solid #ddd; padding: 10px;
box-sizing: border-box;
position: absolute;
left: 1px;
font-size:12px;
}
.cityChoice >div a{color:#137fab; cursor:pointer;}
.close {
position: absolute;
top: 5px;
right: 15px;
border: none;
background: none;
font-size: 16px;
font-weight:bold;
color: #999;
display: block;
cursor: pointer;
}
.cityChoice >div{text-align:left;margin:5px;margin-top:12px;}
.city div dt, .city div dd{text-align:left; cursor:pointer;}
.city div dt a {
float:left;display:inline-block;font-weight:bold; padding:3px;}
.city div dd{margin-left:60px;}
.city div dd a{
padding:3px 7px;display:inline-block;}
.city div dd a:hover{color:#1b5fac;}
jquery异步加载json格式的数据的更多相关文章
- 使用getJSON()方法异步加载JSON格式数据
使用getJSON()方法异步加载JSON格式数据 使用getJSON()方法可以通过Ajax异步请求的方式,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: jQuery. ...
- VS2013无法加载JSON格式
js中通过$.getJSON加载.json 文件时,报如下错误: 解决方案:dos命令中打开 IIS Express ,执行如下命令: appcmd set config /section:stat ...
- 异步加载 Echarts图的数据
<script src="~/Scripts/NewEcharts/echarts.js"></script> <script type=" ...
- 《ArcGIS Runtime SDK for Android开发笔记》——(12)、自定义方式加载Bundle格式缓存数据
随着ArcGIS 10.3的正式发布,Esri推出了新的紧凑型缓存格式以增强用户的访问体验.新的缓存格式下,Esri将缓存的索引信息.bundlx包含在了缓存的切片文件.bundle中.具体如下图所示 ...
- 实用技巧:使用 jQuery 异步加载 JavaScript 脚本
JavaScript 加载器在 Web 开发中是非常强大和有用的工具.目前流行的几个加载器,像 curljs.LABjs 和 RequireJS 使用都很广泛.他们功能强大的,但有些情况下可以有更简单 ...
- MVC4中EasyUI Tree异步加载JSON数据生成树
1,首先构造tree接受的格式化数据结构MODEL /// <summary> /// 定义EasyUI树的相关数据,方便控制器生成Json数据进行传递 /// </summar ...
- jQuery异步加载数据添加事件
几个月前在一个项目中涉及到树形栏,然后看了很多插件,觉得有点麻烦,于是自己写了一个,写着写着就出问题了. 当时项目是通过树形栏进行权限控制的,管理员可以对从数据库去的数据动态生成树形栏进行增删改查操作 ...
- jQuery异步加载数据并添加事件示例
当时项目是通过树形栏进行权限控制的,管理员可以对从数据库去的数据动态生成树形栏进行增删改查操作,可是用$(".XX").click();方法是不行的. 1.之前用的是jq1.4.3 ...
- MVC利用JQuery异步加载PartialView
Javascript: $("#indexList").load('/Test/Index',{"id":"1","name&qu ...
随机推荐
- Django 一对多,多对多关系解析
[转]Django 一对多,多对多关系解析 Django 的 ORM 有多种关系:一对一,多对一,多对多. 各自定义的方式为 : 一对一: OneToOneField ...
- cocos2dx 3.x(TexturePacker进行图片加密)
游戏开发过程中要涉及到大量的图片,使用TexturePacker可以把小图合成大图.这是我们使用最多的功能,但是TexturePacker还带有对图片加密的功能.之前还是对加密不慎了解,所以写下来分享 ...
- DuiLib学习笔记4——布局
有了前面三篇的基础,现在可以开始布局了. 首先任何布局都必须包含在<Window></Window>标签内,跟<html></html>很像. DuiL ...
- CsvHelper
写66666行两个数字 用CsvHelper里的ExcelSerializer 400ms SaveAs 200ms 共600ms 直接用StreamWriter 150ms 行数可以超过65536 ...
- 使用jquery的imagecropper插件做用户头像上传 兼容移动端
在移动端开发的过程中,或许会遇到对图片裁剪的问题.当然遇到问题问题,不管你想什么方法都是要进行解决的,哪怕是丑点,难看点,都得去解决掉. 图片裁剪的jquery插件有很多,我也测试过很多,不过大多数都 ...
- java基本数据类型包装类
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数 ...
- ES6最具魔力的特性——生成器
ES6生成器(Generators)简介 我们从一个示例开始: function* quips(name) { yield "你好 " + name + "!" ...
- Ajax提交整个表单
//view页面 <script> $(function () { $("#btnAdd").click(function () { var pars = $(&quo ...
- POJ - 2339 Rock, Scissors, Paper
初看题目时就发了个错误,我因为没有耐心看题而不了解题目本身的意思,找不到做题的突破口,即使看了一些题解,还是没有想到方法. 后来在去问安叔,安叔一语道破天机,问我有没有搞清题目的意思,我才恍然大悟,做 ...
- CentOS 6.4下编译安装 gcc-4.8.0(转)
转:http://www.centoscn.com/image-text/install/2014/0807/3454.html 1.首先下载源代码 wget http://ftp.gnu.org/g ...