1 $.ajax({ 2 type:'get',//使用get方法访问后台 3 dataType:'json',//访问json格式的数据 4 url:'http://job.hainan.net/api/recruitment_base_list.jsp',//要访问的后台地址 5 data:reqParam,//要发送的数据 6 beforeSend: function(XMLHttpRequest){ 7 $(".icon-loading").css("display","block"); 8 }, 9 complete:function(XMLHttpRequest){ 10 $(".icon-loading").css("display","none"); 11 }, 12 error:function(data){ 13 console.log(data) 14 }, 15 success:function(data){//data为返回的数据,在这里做数据绑定 16 //如果有要提取的数据,提取出来 17 $.each(data,function(index,item){ 18 19 companyName = getRealLength(item.companyName,12); 20 positionName = getRealLength(item.positionName,10); 21 tplHTML += cardtpl.replace(/$jobName/g,item.positionName) 22 .replace(/$jobname/g,positionName) 23 .replace(/$posId/g,item.id) 24 .replace(/$salary/g,item.salaryDes) 25 .replace(/$companyName/g,item.companyName) 26 .replace(/$companyname/g,companyName) 27 .replace(/$companyId/g,item.companyId) 28 .replace(/$experience/g,item.workingAgeDes); 29 30 if((index+1)%10==0||index+1 == data.length){ 31 $('.tabs-content>ul').append(tplHTML); 32 tplHTML=""; 33 } 34 }) 35 } 36 });
代码无错误,由于有一段返回数据没数据展示,查看了chrome浏览器控制台发现status=200,readystate=4,却调用的是error函数。通过排查是因为返回的json数据不严谨,包含了转义符号导致。和后端开发人员商量好了修改一下返回数据。数据更新之后再测试则没有发生同样错误。证明猜想正确。