控制器没有返回json数据到视图在asp.net MVC Ajax

控制器没有返回json数据到视图在asp.net MVC Ajax

问题描述:

我正面临的问题,同时返回Json值查看。我不知道为什么它发生可能是JQuery的问题。以下是我的代码供参考。它不执行AJAX的成功参数。控制器没有返回json数据到视图在asp.net MVC Ajax

<script type="text/javascript"> 

var $edituserform = $("#edituserform"); 

$(document).ready(function() { 
    $('#userList').DataTable(); 
}); 

function updateuser(id) 
{ 
    var myUrl = '@Url.Action("EditUser", "Admin")'; 
    //var myUrl = '/Admin/EditUser?Id=' + id; 
    alert(id) 
    $.ajax({ 
     url: myUrl, 
     type: 'GET', 
     data: {Id:id}, 
     dataType: 'json', 
     sucess: function (result) { 
      alert('inside success') 
      //$edituserform.html(result.partialView); 
      $edituserform.load(result); 
     } 
    }) 
} 

---- ----控制器

 public ActionResult EditUser(int Id) 
    { 
     try 
     { 
      var objUser = objUserLogic.GetUserById(Id); 

      //return Json(new { partialView = MvcHelper.RenderPartialView(this, "_EditUser", objUser, null) }, JsonRequestBehavior.AllowGet); //tried this commented code first 
      return PartialView("_EditUser", objUser); 
     } 
     catch (Exception Ex) 
     { 
          return View("ViewUsers"); 
     } 

    } 
+0

在哪些方面做了注释掉的解决方案不起作用? –

+0

您的js中的数据类型是'josn',但应该是'json' – Corporalis

+0

@Corporalis将'josn'更改为'json',但仍然不能正常工作... – AYAZ

一个PartialView不是JSON,这你期待。更改dataTypetext/html或返回JsonResult,即Json(someModel)

+0

没有运气......尝试过但仍然没有结果。 – AYAZ

控制器方法

[HttpGet] 
public JsonResult EditUser(int dil) 
{ 
    var objUser = objUserLogic.GetUserById(Id); 
    var jsonparse= objUser 
       .Select(x => new //This is trick that prepare json array 
       { 
         name=x.name, 
         Id=x.Id 
       }); 
     return Json(jsonparse, JsonRequestBehavior.AllowGet); 
} 

的Ajax方法

$.ajax({ 
     url: "/controllerName/getkat", 
     type: "GET", 
     cache: false, 
     contentType: "application/json", 
     data: { Id: xxx}, 
     dataType: "json", 
     success: function (data) { 
      if (data.length > 0) { 
       //Parse Response 
       $.each(data, function (i, state) { 
        $('<option>', { 
         value: state.Id 
        }).html(state.name).appendTo($select); 
       }); 
      } 
     }, 
     complete: function() { 
     }, 
     error: function() { 
     } 
    }); 
+0

感谢您的回复,但我的问题是Json值没有返回到AJAX。 – AYAZ

+0

Json值不返回到Ajax?这意味着你的Ajax请求代码后面的方法和该方法不响应值?您可能会逐步调试您的代码。我建议你把console.log(“这里”)放在你的ajax方法的成功部分,并且在发送之前。你可能会发现卡住的问题。 – BlueNight