JQuery Ajax成功没有被触发

时间:2015-04-14 19:15:21

标签: javascript jquery ajax asp.net-mvc

我不确定为什么我的ajax成功没有被触发/调用。 我的控制器被调用,代码执行正常。我没有回复任何东西,所以我的方法是无效的!我是否需要返回一些东西(ActionResult / JSonResult / etc)来触发成功?

这是我的控制器代码。

public void DeleteEvent(string eventId)
{
    diaryEventService.DeleteDiaryEvent(eventId);
}

这是我的ajax电话。



$.ajax({
  url: '/ManageSpaces/DeleteEvent',
  dataType: 'json',
  data: {
    eventId: eventId,
  },
  success: function() {
    //var obj = JSON.parse(doc);

    var myCalendar = $('#fullcalendar');
    myCalendar.fullCalendar();
    myCalendar.fullCalendar('removeEvents', eventId);
    $("#eventDetails").collapse('toggle');
  }
});




1 个答案:

答案 0 :(得分:1)

是的,您需要返回JsonResult

[HttpPost]
public JsonResult DeleteEvent(string eventId)
{
    diaryEventService.DeleteDiaryEvent(eventId);
    return Json("{status:"OK"}");
}

由于您要更改后端数据,请将其设置为POST:

 $.ajax({
    url: '/ManageSpaces/DeleteEvent',
    method: 'POST',
    dataType: 'json',
    data: {
     eventId: eventId,
    },
    success: function(response) {
    if(response.status=="OK"){
     var myCalendar = $('#fullcalendar');
     myCalendar.fullCalendar();
     myCalendar.fullCalendar('removeEvents', eventId);
     $("#eventDetails").collapse('toggle');
    }else{
      console.log("Error occured")
    }
   }
 });