2016-02-18 140 views
0

我遇到的問題以前的工作,但現在不工作的代碼。問題是我打電話給從我的cshtml類調用GetRooms的控制器,但我得到一個404錯誤。Javascript無法識別控制器

控制器:

public virtual ActionResult GetRooms(Guid unitId, Guid interviewId, DateTime date, DateTime startTime, DateTime endTime) 
{ 

} 

以我CSHTML類別i已經實施了的getJSON requst與paramesters:

function getRoomsInUnit(unitId, interviewId, date, startTime, endTime) { 
$.getJSON('/CitizenMentor/GetRooms', { unitId: unitId, interviewId: interviewId, date: date, startTime: startTime, endTime: endTime }, function (result) { 
    var list = $('#SelectedRoomResourceId'); 
    list.find('option').remove(); 

    $(result).each(function (index, room) { 
     list.append('<option value="' + room.Id + '">' + room.Title + '</option>'); 
    }); 
}); 

};

當我運行代碼時,我得到一個404錯誤,指出無法找到帶參數的控制器。我似乎不知道爲什麼會發生這種情況。也許它與我的查詢發送的時間戳? enter image description here

+0

而你的控制器是'CitizenMentorController'? –

+0

是的。我打電話添加和編輯方法女巫工作正常。但不是GetRooms方法 – Lahib

+0

我注意到你的引用是'/ ka/Mentor/Overview'。在你的路徑中遺漏'/ ka'是否正確?你能手動瀏覽路徑嗎?你有沒有嘗試[路由調試器](https://www.nuget.org/packages/routedebugger/)? –

回答

2

試着改變這樣的鏈接並使用ajax。

var roomDetails = 
{ unitId: unitId, 
    interviewId: interviewId, 
    date: date, 
    startTime: startTime, 
    endTime: endTime 
} 
    $.ajax({ 
      url: '@Url.Action("GetRooms", "CitizenMentor")', 
      type: 'GET', 
      data: roomDetails , 
      success: function (data) { 
       var list = $('#SelectedRoomResourceId'); 
       list.find('option').remove(); 
      $(result).each(function (index, room) { 
      list.append('<option value="' + room.Id + '">' + room.Title +'</option>'); 
       } 

      }, 
      error: function() { 
       alert("something seems wrong", "Error"); 
      } 
相關問題