Javascript无法识别控制器

时间:2016-02-18 08:17:21

标签: javascript .net asp.net-mvc asp.net-mvc-3

我遇到过以前有效但现在无效的代码问题。问题是我从我的cshtml类调用一个名为GetRooms的Controller,但是我收到了404错误。

控制器:

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

}

在我的cshtml类中,我实现了一个带参数的getJSON请求:

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

1 个答案:

答案 0 :(得分: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");
            }