这篇文章主要介绍“ajax请求json数据的实例讲解”,在日常操作中,相信很多人在ajax请求json数据的实例讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ajax请求json数据的实例讲解”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
今天有这样一个需求,点击六个大洲,出现对应的一些请求信息,展示在下面,请求请求过后,第二次点击就无需请求。
如图所示:点击北美洲下面出现请求的一些数据
html代码结构:
<div class="conSixmap">
<div class="name conmap01" data-name="beimeizhou">
<a href="javascript:void(0)">北美洲</a>
<div class="condetail"></div>
</div>
<div class="name conmap02" data-name="nanmeizhou">
<a href="javascript:void(0)">南美洲</a>
<div class="condetail"></div>
</div>
<div class="name conmap03" data-name="ouzhou">
<a href="javascript:void(0)">欧洲</a>
<div class="condetail"></div>
</div>
<div class="name conmap04" data-name="feizhou">
<a href="javascript:void(0)">非洲</a>
<div class="condetail"></div>
</div>
<div class="name conmap05" data-name="yazhou">
<a href="javascript:void(0)">亚洲</a>
<div class="condetail"></div>
</div>
<div class="name conmap06" data-name="dayangzhou">
<a href="javascript:void(0)">大洋洲</a>
<div class="condetail"></div>
</div>
</div>
css样式:
.conSixmap{position:relative;width:678px;height:335px;margin:0 auto;background:url(../images/tuanduimapBg.png) no-repeat;color:#000;font-family:"微软雅黑"}
.conSixmap .name .condetail{display:none;position:absolute;z-index:10;width:216px;padding:10px;left:50%;margin-left:-118px;top:54px;background:url(../images/opcity83.png) repeat;border-radius:5px;}
.conSixmap .condetail span{display:block;color:#fff;font-size:14px;text-align:left;}
.conSixmap .name{position:absolute;width:52px;height:55px;}
.conSixmap .name a{display:block;z-index:2;position:absolute;padding-top:35px;text-align:center;cursor:pointer;width:52px;height:20px;color:#000;font-size:12px;}
.conSixmap .conmap01{left:91px;top:73px;}
.conSixmap .conmap01 a{background:url(../images/beimeipicBg.png) no-repeat top center;}
.conSixmap .conmap02 {left:180px;top:213px;}
.conSixmap .conmap02 a{background:url(../images/nanmeimapbg.png) no-repeat top center;}
.conSixmap .conmap03 {left:339px;top:68px;}
.conSixmap .conmap03 a{background:url(../images/ouzhoumapBg.png) no-repeat top center;}
.conSixmap .conmap04{left:327px;top:158px;}
.conSixmap .conmap04 a{background:url(../images/feizhoumapbg.png) no-repeat top center;}
.conSixmap .conmap05 {left:480px;top:75px;}
.conSixmap .conmap05 a{background:url(../images/yazhoumapBg.png) no-repeat top center;}
.conSixmap .conmap06 {left:545px;top:220px;}
.conSixmap .conmap06 a{background:url(../images/dayangmapbg.png) no-repeat top center;}
json格式:
{
"beimeizhou": [
"请求的json数据1",
"请求的json数据2"
],
"nanmeizhou": [
"请求的json数据3",
"请求的json数据4"
],
"ouzhou": [
"请求的json数据5",
"请求的json数据6",
"请求的json数据7",
"请求的json数据8"
],
"feizhou": [
"请求的json数据9",
"请求的json数据10",
"请求的json数据11",
"请求的json数据12"
],
"yazhou": [
"请求的json数据13",
"请求的json数据14"
],
"dayangzhou": [
"请求的json数据15",
"请求的json数据16"
]
}
js代码:
$(document).ready(function(){
//添加地图
var stauteArr={
'beimeizhou':'true',
'nanmeizhou':'true',
'ouzhou':'true',
'feizhou':'true',
'yazhou':'true',
'dayangzhou':'true'
};
$(".conSixmap .name").on('click',function(){
var _this=this;
var htmlcon="";
$(this).siblings(".name").children(".condetail").fadeOut(500);
$(this).children(".condetail").fadeIn(500);
var _name=$(this).attr('data-name');
$.ajax({
url:"js/schoolMap.json",
type:'get',
data:{},
dataType:"json",
success: function(data){
for(var i in data){
if(_name==i && stauteArr[i]=='true'){
for(var j=0;j<data[i].length;j++){
htmlcon+="<span>"+data[i][j]+"</span>";
}
$(_this).children(".condetail").append(htmlcon);
stauteArr[i]='false';
}
}
},
error: function(){
alert('请求失败,请检查网络');
}
});
});
});
到此,关于“ajax请求json数据的实例讲解”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://www.jb51.net/article/72348.htm