如何从视图中的控制器获取JSON对象并在Jquery函数中使用它?

如何从视图中的控制器获取JSON对象并在Jquery函数中使用它?,json,jquery,asp.net-mvc-4,Json,Jquery,Asp.net Mvc 4,我想从我的控制器返回JSON并在我的视图中获取它。这是我调试它时的代码。转到我的控制器并获取值,但在我的j查询代码中什么也没有发生。当我用firebug调试我的j查询代码时,它不会运行函数(数据)。我的代码有什么问题?我想从服务器获取零件手册的对象。这是一行数据,将这一行添加到我的Telerik mvc网格中。提前感谢 这是我的控制代码: #region dynamic_add_row_to_grid private PartBooklet GetPartBooklet( int s

我想从我的控制器返回JSON并在我的视图中获取它。这是我调试它时的代码。转到我的控制器并获取值,但在我的j查询代码中什么也没有发生。当我用firebug调试我的j查询代码时,它不会运行函数(数据)。我的代码有什么问题?我想从服务器获取零件手册的对象。这是一行数据,将这一行添加到我的Telerik mvc网格中。提前感谢 这是我的控制代码:

 #region dynamic_add_row_to_grid
     private PartBooklet GetPartBooklet( int sparepart ) {
        return _PartBookletService.GetList().Where(m => m.SparePartCode == sparepart).FirstOrDefault();
     }

     [AcceptVerbs(HttpVerbs.Get)]
     public JsonResult GetItems( int sparepart ) {
         var PartbookletList = this.GetPartBooklet(sparepart);
         return Json(PartbookletList, JsonRequestBehavior.AllowGet);
     }
     #endregion
及其jquery代码:

    $("#btnadd").button().click( function () {
        alert("button");
        var sparepartcode = $("#SparePartCode").val();
        alert( sparepartcode );
        $.getJSON("../Shared/GetItems", { sparepart: sparepartcode }, function( data ) {
           alert( data.val );
           alert("PartbookletList");
           var grid = $('#InvoiceItemGrid').data('tGrid');
           grid.dataBind( data );
        }).error( function () {
           alert("JSON call failed");
        });

        $( function () {
           $.ajaxSetup({
           error: function (jqXHR, exception) {
              if ( jqXHR.status === 0 ) {
                  alert('Not connect.\n Verify Network.');
              } else if ( jqXHR.status == 404 ) {
                  alert('Requested page not found. [404]');
              } else if ( jqXHR.status == 500 ) {
                  alert('Internal Server Error [500].');
              } else if (exception === 'parsererror' ) {
                  alert('Requested JSON parse failed.');
              } else if ( exception === 'timeout' ) {
                  alert('Time out error.');
              } else if ( exception === 'abort' ) {
                  alert('Ajax request aborted.');
              } else {
                  alert('Uncaught Error.\n' + jqXHR.responseText);
              }
            }
         });
     });
  });
请注意,在成功的ajax请求中,它是包含您所需实际数据的第三个参数

$("#btnadd").button().click( function () {
    //alert("button");
    var sparepartcode = $("#SparePartCode").val();

    $.ajax({
            url: "/Shared/GetItem?sparepart=" + sparepartcode,
            type: 'GET',
            success: function(a, b, data) {
                //alert( data.val );
                alert("PartbookletList");
                var grid = $('#InvoiceItemGrid').data('tGrid');
                grid.dataBind( data );
            },
            error: function(jqXHR, textStatus, errorThrown) {
                alert("JSON call failed");
            },
            // other options and setup ...
    });
});