使用$ .each循环访问JSON

时间:2014-08-05 21:19:10

标签: jquery ajax each

我正在使用jquery $ .ajax在我的网站中提交数据。我的表单包含emailname字段。我可以提交这些字段并获得我想要的回报。以下回复是我在电子邮件为黑色且名称字段为空白时创建的。

{"success":0,"errors":{"email":["required"],"name":["required"]}}

我认为反应是完美的,但我无法循环。这是我的jquery代码来完成响应json。

<script>
$('#submit-button').click(function(){
var datalist="name="+$('#name').val()+"&email="+$('#email').val()+"&password="+$('#password').val()+"&user_level="+$('#user_level').val();
$.ajax({
type: "POST",
data: datalist,
url: '/admin/adminuser/save',
dataType: 'json',
success: function(rtn) 
{
  if (rtn.success==1)
  {
     alert('saved');
  } else {
     $(rtn.errors).each(function(i,e){
       alert(e);
     });
  }
}
});
});
</script>

我不会提前知道错误数组中的内容,但emailname与html元素的ID匹配,所以我可以(错误)样式他们因此。立即e警告[object Object],但我需要电子邮件

2 个答案:

答案 0 :(得分:2)

是的,你正试图alert,如果你正在处理对象,那么你就不会对你有太大帮助。你也在jQuery中使用了错误的each函数。使用console

这是你想要的那个:

$.each(rtn.errors, function (i, e) {
    console.log(i, e);
});

演示:http://jsfiddle.net/robschmuecker/DL24R/

答案 1 :(得分:0)

我会尝试使用每个版本的其他版本$.each(rtn.errors, function(i,e){...});