首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Asp.net MVC5 Ajax调用不触发方法

Asp.net MVC5 Ajax调用不触发方法
EN

Stack Overflow用户
提问于 2017-10-07 07:21:45
回答 2查看 386关注 0票数 0

我有一个问题,当我调用ajax时,它不能到达服务器。我看过很多关于这个问题的帖子,但这些帖子对我不起作用。奇怪的是,当我在firefox中使用start with debugger时,这段代码还在工作,它也命中了断点。但是,当我在没有调试器的情况下启动项目时,它在firfox或chrome上都不能工作。哪里出了问题?

这是我的ajax调用:

代码语言:javascript
运行
复制
$(document).ready(function () {
        var events = [];            
        $.ajax({
            type: "GET",
            url: "Agenda/GetEvents",
            success: function (data) {
                $.each(data, function (i, v) {
                    events.push({
                        title: v.Subject,
                        description: v.Description,
                        start: moment(v.StartDateTime),
                        end: v.EndDateTime != null ? moment(v.EndDateTime) : null,
                        color: v.ThemeColor,
                        allDay: v.IsFullDay
                    });
                    console.log("Pushing");
                })
                GenerateCalender(events);
            },
            error: function (error) {
                alert('failed');
            }
        })

        function GenerateCalender(events) {
            $('#calender').fullCalendar('destroy');
            $('#calender').fullCalendar({
                aspectRatio: 1.5,
                defaultDate: new Date(),
                timeFormat: 'HH:mm',
                header: {
                    left: 'prev,next today',
                    center: 'title',
                    right: 'month'
                },
                eventLimit: true,
                eventColor: '#378006',
                events: events,
                eventClick: function (calEvent, jsEvent, view) {
                    $('#myModal #eventTitle').text(calEvent.title);
                    var $description = $('<div/>');
                    $description.append($('<p/>').html('<b>Starttijd: </b>' + calEvent.start.format("DD-MMM-YYYY HH:mm ")));
                    if (calEvent.end != null) {
                        $description.append($('<p/>').html('<b>Eindtijd: </b>' + calEvent.end.format("DD-MMM-YYYY HH:mm ")));
                    }
                    $description.append($('<p/>').html('<b>Beschrijving: </b>' + calEvent.description));
                    $('#myModal #pDetails').empty().html($description);

                    $('#myModal').modal();
                }
            })
        }
    })

这是它在AgendaController中需要使用的方法:

代码语言:javascript
运行
复制
    [HttpGet]
    public JsonResult GetEvents()
    {
        var listofEvents = db.Events.ToList(); 

        return new JsonResult{ Data = listofEvents, JsonRequestBehavior = JsonRequestBehavior.AllowGet};
    }

提前谢谢你

EN

回答 2

Stack Overflow用户

发布于 2017-10-07 07:41:25

代码语言:javascript
运行
复制
[HttpGet]
public JsonResult GetEvents()
{
    var listofEvents = db.Events.ToList(); 

    return Json (Data = listofEvents, JsonRequestBehavior.AllowGet);
}
票数 0
EN

Stack Overflow用户

发布于 2017-10-07 08:02:56

我已经找到解决方案了。问题不在于Ajax调用...问题是控制器上有一个authorize,而我忘了让GetEvents方法允许匿名。很抱歉浪费大家的时间:')我应该删除这篇文章吗?或者我应该不采取进一步的行动?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46615149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档