2016-10-03 14 views
-1

ViewにJson値を返す際に問題が発生しています。 JQueryでなぜそれが起こっているのか分かりません。以下は私の参照用コードです。 AJAXのsuccessパラメータを実行していません。コントローラがasp.netのビューにjsonデータを返さない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、ではありません。 、すなわちJson(someModel)

+0

運がいい...これを試したが、まだ結果は出なかった。 – AYAZ

0

コントローラメソッドをtext/htmldataTypeを変更するか、JsonResult戻る

[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リクエストを意味しますか?あなたはステップバイステップで持っているコードをデバッグするかもしれません。私は、あなたのajaxメソッドのsuccessセクションにconsole.log( "ここ")を入れ、送信することもお勧めします。あなたはどこに問題があるか把握しているかもしれません。 – BlueNight

関連する問題