通过javascript / jQuery访问嵌套JSON对象的问题

时间:2011-09-24 22:53:44

标签: javascript jquery json

这是我得到的JSON:

{"status":"failure","msg":{"name":["can't be blank"],"email":["can't be blank","is invalid"]}}

这是我正在使用的javascript:

$("#sign_in_form").submit(function() {
  var success_function = function(data) {
    if(data.status == 'failure') {
      $("#error_msg").html(data.msg.name)
    }
  };

  $.post($(this).attr("action"), $(this).serialize(), success_function, "json");
});

我从Firebug得到的错误是:

uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMDocumentFragment.appendChild]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://localhost:3000/assets/jquery.js?body=1 :: <TOP_LEVEL> :: line 6182" data: no]

一切正常。我的javascript可以访问data.status值,但使用data.msg.name会产生未捕获的异常。

2 个答案:

答案 0 :(得分:0)

尝试

data.msg.name[0]

希望有所帮助

答案 1 :(得分:0)

应该是

$("#error_msg").html(data.msg.name[0] || '');