不确定如何用标题来表达我的问题:
这是我的javascript:
$.post("register", element.serialize(),
function(data){
if(data.success == "true"){
// Do whatever
} else if (data.success == "false"){
for (i = 0; i < data.errors.length; i++){
// This is what I need to change
alert(data.errors[i][0]);
}
}
}, "json");
这是传入的 JSON 字符串:
{"success":"false","errors":{"username":"error with username","email":"error with email"}}
分手,即:
errors: {
email: "error with email"
username: "error with username" }
success: "false"
我希望警报显示“电子邮件错误”和“用户名错误”
虽然我似乎没有做任何事情,但有什么想法吗?
谢谢
最佳答案
问题是您的errors
属性不是数组
,而是具有属性的对象
。
这是您应该使用的代码:
alert(data.errors.email);
和对象的有效数组
声明,注意[]
:
errors: [
{ email: "error with email", username: "error with username" },
{ email: "error with email 2", username: "error with username 2" }
]
关于javascript - 使用没有索引的javascript解析数组中的JSON数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8558236/