var cityID="1";
var areaHtml="";
var storeHtml="";
//区域异步
function GetareaHtml(){
areaHtml="";
storeHtml="";
$.ajax({
url: "<{:U('Online/GetDistrictList')}>",
type: 'post',
dataType: 'json',
data: {"CityId": cityID},
success: function (data) { //返回json {"msg":"\u6210\u529f","status":0,"data":[{"ID":16,"Name":"\u5f90\u6c47\u533a"},{"ID":13,"Name":"\u957f\u5b81\u533a"},{"ID":19,"Name":"\u5b9d\u5c71\u533a"}]}
if (data.status == "0") {
var temps=data['data'].length;
for(i=0;i<data.data.length;i++){//data.data.length 火狐执行到这里会卡死 换成temps就正常了
if(i=0) {
areaHtml+="<div class='menu-area active s"+i+"' name='s"+i+"'>"+data.data.Name+"</div>"; //执行到这里会报错 allocation size overflow
}else{
// areaHtml+="<div class='menu-area s"+i+"' name='s"+i+"'>"+data.data.Name+"</div>";
}
// storeHtml+="<div class='stext' id='s"+i+"'>"+data.data.Name+"</div>";
// storeHtml+=GetstoreHtml();
}
}
}
});
$(".area-store-left").html(areaHtml);
$(".area-store-right").html(storeHtml);
}

备注:

    为什么data.data会卡死,在PHPstorm下,可以看到第一个data被当做ajax的请求字符串了。

    解决:使用data['data']['Name']这样来取参数

04-28 05:14