我有一些看起来像这样的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
答案 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);
}