这是我得到的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
会产生未捕获的异常。
答案 0 :(得分:0)
尝试
data.msg.name[0]
希望有所帮助
答案 1 :(得分:0)
应该是
$("#error_msg").html(data.msg.name[0] || '');