在项目中使用layer弹出层的时候,遇到一个问题,就是利用ajax请求后台数据成功时,调用layer弹出层(iframe),如何把数据传到iframe里面去?
经过百度,发现,使用js把数据拼接起来,然后在success里面去赋值即可
代码:
$.ajax({
url: "{$site_url}", type: 'POST', dataType: 'json', data: {'app':'my_member','act':'get_city_data','city':city}, success:function(json){ if (json.code==1) { return false; } var data = json.data; layer.open({ type: 2, title: '市区域消费提成', shadeClose: true, shade: false, maxmin: true, //开启最大化最小化按钮 area: ['820px', '200px'], content: "{$site_url}?app=my_member&act=show_city", success:function(layero, index){ var body = layer.getChildFrame('body', index); var _string = '<table width="100%" cellspacing="1" cellpadding="5" border="0" bgcolor="#ebebeb" style="pading-top:50px"><thead><tr><td bgcolor="#ffffff" align="center"><font style="font-weight:bold; font-size:20px">区</font></td><td bgcolor="#ffffff" align="center"><font style="font-weight:bold; font-size:20px">金额(元)</font></td><td bgcolor="#ffffff" align="center"><font style="font-weight:bold; font-size:20px">总人数</font></td></tr></thead><tbody>'; $.each(data.city,function(i,n){ _string+=' <tr class="bd-line"><td bgcolor="#ffffff" align="center"><a href="javascript:;" style="color: black;text-decoration: none;">'+n.are+'</a></td><td bgcolor="#ffffff" align="center">'+n.points+'</td><td bgcolor="#ffffff" align="center">'+n.num+'</td></tr>'; }) _string+='<tr class="bd-line"><td bgcolor="#ffffff" align="center">总金额(元)</td><td bgcolor="#ffffff" align="center" colspan="2">'+data.total_money+'</td></tr>'; //console.log(data.city); $(body).html(_string); } }); }, error:function(msg){ console.log(msg); } })