执行:
$.post( "/url/to/method", { }, function(data){ var obj2 = eval("("+$(data).children()+")"); // OR var obj = $.evalJSON($($(data).children())); // Jquery-json $body = $("#AAA"); $body.html(obj.fied); }, "xml" );
虽然在firebug中的元素列表"(在第5行或第6行)错误后变成"缺失".方法的JSON输出已通过jsonlint.com/验证
可能是显而易见但请我是围绕AJAX/JSON的新手.谢谢
可能发生的是你的$ .post调用已经返回一个JSON对象.jQuery将尝试自动检测JSON并为您解析它.当您在像这样的JSON对象上调用eval时,您会看到此错误.偷偷摸摸的!只需按原样使用数据对象即可.
使用JSON.parse方法,或者确保在将其传递给eval之前在parens旁边包含一个空格...
eval(" (" + data + ") ");