ajax回调函数 遍历json数据的问题

ajax的响应数据[{"id":1,"attr_name":"颜色","attr_type":"可选","attr_option_values":"红色,黄色,绿色","... ajax的响应数据
[{"id":1,"attr_name":"颜色","attr_type":"可选","attr_option_values":"红色,黄色,绿色","type_id":2},{"id":5,"attr_name":"尺码","attr_type":"可选","attr_option_values":"XL,XXL,XXXL","type_id":2},
{"id":6,"attr_name":"材质","attr_type":"唯一","attr_option_values":"纯棉","type_id":2}]

ajax的成功回调函数 $(data).each无法成功执行为什么
success:function(data){
var li='';
alert('222');
//遍历响应的json格式的数据
$(data).each(function(k,v){
if(v.attr_type=='可选'){
li+='<li>';
li+='<a href="">+</a>';
}
li+=v.attr_name+':';
if(v.attr_option_values==''){
li+='<input type="text" value=""/>';
}else{
li+='<select><option value="">请选择属性</option>';
var values=v.attr_option_values.split(',');
for(var i=0;i<i.values.length;i++){
li+='<option value="'+values[i]+'">';
li+=values[i];
li+='</option>';
}
li+='</select>';
}
li+='</li>';
});

$('.attr_list').html(li);
},
ajax回调正常 就是$.each(data, function(index, value)循环不知道出了什么问题 调试了好久也找不到毛病
展开
 我来答
一年孤独58aa
2018-04-18 · TA获得超过1404个赞
知道小有建树答主
回答量:592
采纳率:92%
帮助的人:443万
展开全部

可以直接使用Array的方法:

data.forEach(function(value, index){
    //...
});

如果用jQuery:

$.each(data, function(index, value){
    //...
});

形如$('selector').each()的方法是用来循环jQuery对象的. jQuery有两个each方法:

  1. $.each(array, function(index, value)): 用于循环数组;

  2. $.fn.each(function(index, value)): 用于循环jQuery实例对象, 即用jQuery选择器选中的dom对象.

更多追问追答
追问

我是自学的php 问题看不出来

追答
现在没啥问题了吧. 有问题的话是报错了还是?
还有就是和你的具体的数据有关的, 你if(y.attr_type=="可选") 后, 没有处理!=="可选"的情况, 在!=="可选"时, 会出现不闭合的标签. 可以将li+="'这句移到if之前.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式