jquery中ajax方法的datatype的作用
今天在维护一个项目的时候遇见了一个小问题。但是这个问题我认为对于项目十分有帮助。便写下来有助于帮助到大家。首先我们来看一段代码
$(".search").click(function(){ $.ajax({ type:"get", url:"/communitys/CommunityShowController?method=listByAllCondition", dataType:"json", contentType: "application/x-www-form-urlencoded; charset=utf-8", data: { school: school, grade: grade, type: type }, success: function(data){ var showId = data[0].communityShowId; if(showId == 0){ $("#list").html("无相应社团"); }else{ $("#list").html(''); var list = ' '; var data1 = data; $.each(data1, function (index, item) { //循环获取数据 list += "<li><a href='/communitys/CommunityShowController?method=toEnter&communityShowId="+ item.communityShowId +"'><div class='img-box'><img src='/communitys/backpages/image/"+item.logo+"'></div><p class='img-cap'>"+item.name+"</p></a></li>"; }); $(list).appendTo("#list"); } } }); });
这是我在学习与维护中的一段代码。其意义就是指我点击搜索,当有与要求想对应的内容时,我显示一张张图片,而没有内容的时候我显示一句话“无相应社团”。
这是已经可以运行的代码,我之前的代码与之相差的地方是,我没有设置datatype
其次
if(showId == 0){ //这个语句我写成了 if(data == '[{"communityShowId":"0","logo":"",name:""}]'){
我的原意是想让data直接解析这个json数据,但是由于我没有设置datatype,所以这个json做成的数组被解析成了字符串。这样,根本就无法执行if下面的语句。
而当我设置了datatype时,ajax会把这个字符串解析成json数据格式,与我的内容相匹配。其次我设置
var showId = data[0].communityShowId;
这就相当于我现在解析showId是解析data这个json数据,而我把data这个json数据看成了数组,每一个键将对应一个键值,我把showId获取成了这个json里面的第一个键。当showId==0 的时候,也就是当这个键值为0的时候,将返回if执行语句!
相关推荐
kentrl 2020-11-10
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo
ajaxyan 2020-11-09
zndy0 2020-11-03
学留痕 2020-09-20
Richardxx 2020-11-09
learningever 2020-09-19
chongxiaocheng 2020-08-16
ajaxhe 2020-08-16
lyqdanang 2020-08-16
curiousL 2020-08-03
TONIYH 2020-07-22
时光如瑾雨微凉 2020-07-19
83510998 2020-07-18
坚持着执着 2020-07-16
jiaguoquan00 2020-07-07
李永毅 2020-07-05
坚持着执着 2020-07-05