2017-09-06 1 views
-1

私は、Ajax呼び出しを使用してMVCのコントローラからJsonResultsアクションをロードしようとしています。 alert()関数がうまく起動しているが、ajaxが実行されていないことがわかります。私はいくつかの情報源を検索しているが、役に立たない。Ajaxが目的の結果を返さないか、まったく動作しない

public JsonResult FillBusinessLicenceL3(int? selectedID) 
    { 
     var bl3_Items = db.LevelThreeItems.Where(l3 => l3.LevelTwoItem_ID == selectedID); 

     return Json(bl3_Items, JsonRequestBehavior.AllowGet); 
    } 

下記もjsonメソッドを呼び出すjavascriptです。

<script> 
function FillBussLicence_L3items() { 
    alert("You have clicked me"); 
    var bl2_Id = $('#BussLicenceL2_ID').val(); 
    //alert(document.getElementById("BussLicenceL2_ID").value); 
    alert(bl2_Id); 
    $.ajax({ 
     url: 'StartSurvey/FillBusinessLicenceL3/' + bl2_Id, 
     type: "GET", 
     dataType: "JSON", 
     data: "{}", // { selectedID : bl2_Id }, 
     //contentType: 'application/json; charset=utf-8', 
     success: function (bussLicence_L3items) { 
      $("#BussLicenceL3_ID").html(""); // clear before appending new list 
      $.each(bussLicence_L3items, function (i, licenceL3) { 
       $("#BussLicenceL3_ID").append(
        $('<option></option>').val(licenceL3.LevelThreeItem_ID).html(licenceL3.LevelThreeItem_Name)); 
      }); 
     } 
    }); 
} 

また、私もこの1しかし、誰の実行通知を試してみました。 事前にお手伝いいただきありがとうございます。

+0

ブラウザのコンソールを開きます。エラーメッセージを探します。 – JJJ

答えて

0

ブラウザのコンソールを調べた後、LINQクエリがデータベースを追跡していて循環参照を作成していたことに気付きましたので、クエリを次のように変更しました。

public JsonResult FillBusinessLicenceL3(int? selectedID) 
    { 
     var bl3_Items = db.LevelThreeItems. 
      Where(k => k.LevelTwoItem_ID == selectedID). 
      Select(s => new { LevelThreeItem_ID = s.LevelThreeItem_ID, LevelThreeItem_Name = s.LevelThreeItem_Name }); 

     return Json(bl3_Items, JsonRequestBehavior.AllowGet); 
    } 

コントローラへのajaxコールで何も問題はありませんでした。

関連する問題