循环浏览特定json数据格式的帮助很大

时间:2014-01-18 11:47:28

标签: javascript jquery json

我有一些看起来像这样的json数据

{"errors":{"toDate":["Date error_message"],"name":["name error_message"]}}

 OR

{"success":{"toDate":["Date update_data"],"name":["name update_data"]}}

如何使用jQuery,javascript循环使用它?

在ajax请求中从服务器返回json数据!

所以如果json {“errors”:....}

,我需要显示错误

如果json {“success”:...}

,则在响应成功时更新表行

这是我的ajax调用函数

jQuery('#juiDialog').on('submit','#formn-update',function(e){
            e.preventDefault();
            e.stopPropagation();
                jQuery.ajax({
                                Type:'json',
                            global : false,
                            async : false,
                            cache : false,
                            type : 'POST',
                            url : jQuery(this).attr('action'),
                            data:jQuery(this).serialize()
                        }).success(function(data) {                         
                            alert(data.errors.toDate[0]);
                             });
                   });

我尝试了@Barmar的解决方案,但是我收到以下错误:

  

未捕获的TypeError:无法读取未定义的属性“错误”

已解决::

我忘了在ajax函数中设置dataType! 数据类型:JSON

2 个答案:

答案 0 :(得分:2)

            jQuery.ajax({
                global : false,
                async : false,
                cache : false,
                type : 'POST',
                dataType: 'json', // Tell jQuery to parse the JSON result
                url : jQuery(this).attr('action'),
                data:jQuery(this).serialize()
            }).success(function(data) {  
                if (data.errors) {                       
                    alert(data.errors.toDate[0]);
                } else {
                    // do something with data.success.toDate[0] and data.success.name[0]
                }
            });

答案 1 :(得分:0)

此处举例说明如何循环json对象

var x = {"success":{"toDate":["Date update_data"],"name":["name update_data"]}}
for(key in x){
   console.log(x[key].toDate);
}