2016-10-03 45 views
-1

我正面臨的問題,同時返回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

回答

0

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

+0

沒有運氣......嘗試過但仍然沒有結果。 – AYAZ

0

控制器方法

[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

相關問題