Jquery 解析Json不起作用

Jquery 解析Json不起作用,jquery,json,asp.net-mvc-3,Jquery,Json,Asp.net Mvc 3,我向我的控制器发出一个简单的post请求,返回一个我试图解析的json对象,但它不起作用 public ActionResult GetViewEditData(int machineID) { ViewBag.MachineData = Json(PMIComputerModel.GetViewEditDetails(machineID)); return View("GetViewEditData"); } A

我向我的控制器发出一个简单的post请求,返回一个我试图解析的json对象,但它不起作用

public ActionResult GetViewEditData(int machineID)
        {
            ViewBag.MachineData = Json(PMIComputerModel.GetViewEditDetails(machineID));
            return View("GetViewEditData");
        }

Ajax call
function GetDetails(crntAnc, mode) {
        var id = $(crntAnc).parents('tr:first').find('td:first').attr('id');
        alert(id);
        $.ajax({
            url: '/Home/GetViewEditData/',
            contentType: "application/json; charset=utf-8",
            type: 'POST',
            data: "{'machineID': '"+ id +"'}",
            success: function () {

            },
            error: function (e, jqxhr, settings, exception) {
                if (jqxhr != null)
                    alert(jqxhr.responseText);
            }
        });
var data = '@ViewBag.MachineData';
        alert(data);
        alert(jQuery.parseJSON(data));
        }
在错误块中,它是未定义的。我只想在javascript中解析我的josn数据

正在序列化的类:

 public class PMICheckListWrapper
        {
            public PMIMachine Machine { get; set; }
            public List<PMICheckListResponse> CheckResponseList { get; set; }
        }

我认为你必须返回一个局部视图

public ActionResult GetViewEditData(int machineID)
        {
            // ViewBag.MachineData = Json(PMIComputerModel.GetViewEditDetails(machineID));
            return PartialView("GetViewEditData");
        }
在成功街区

success: function (data) {

                $('#dvViewBox').html(data);
            },
success: function (data) {
 alert(jQuery.parseJSON(data.value));
  // do your logic     
  },
或者如果要返回Json本身

var result = PMIComputerModel.GetViewEditDetails(machineID);
return Json( new { value = result },JsonRequestBehavior.AllowGet);
在成功街区

success: function (data) {

                $('#dvViewBox').html(data);
            },
success: function (data) {
 alert(jQuery.parseJSON(data.value));
  // do your logic     
  },

无需再次解析它,因为数据类型“json”已经存在。我正在通过viewbag访问数据,但它不在该代码块中\n ok pranav,我如何访问它?我正在将json对象传递给viewbag并返回视图,然后尝试访问它。@ankur你可以发布数据值吗?永远不要使用alert进行调试,但是使用console.log。您无法在警报中看到对象,而可以在控制台中看到。不,我不需要局部视图,因为根据设计,不需要局部视图。我只是想访问数据,如果我能够访问我的json数据,那么我将解析并执行itHard上的业务逻辑,以了解您的问题,在这种情况下,您返回的是json,而不是整个视图,这就是它显示错误的原因。它应该像我编辑的一样,虽然没有测试。希望它有帮助。你能提供完整的方法与张贴和响应,以及如何访问它,以便它将解决问题。。。