0

我想从我的控制器返回 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);
              }
            }
         });
     });
  });
4

1 回答 1

0
$("#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 ...
    });
});

请注意,在成功的 ajax 请求中,第三个参数包含您需要的实际数据。

于 2013-09-19T08:57:23.883 回答