首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在mvc的jquery中获取json数据

无法在mvc的jquery中获取json数据
EN

Stack Overflow用户
提问于 2010-12-08 14:55:31
回答 2查看 327关注 0票数 1

我正在用asp.net MVC开发应用程序,我的脚本是:

代码语言:javascript
复制
 $(document).ready
     (
       function() {

        var officerid = document.getElementById('officerid').value;
        url = "/TasksToOfficer/Calender/" + officerid;

     var data=   function() 
                {
               $.ajax(
               {
                         type: 'GET',
                         url: url ,
                         dataType: 'json',
                         data: {'start' : start,'end' : end}
                }); 
                }; 


});

我无法从控制器操作中获取数据:

代码语言:javascript
复制
    [HttpGet]
        [AcceptVerbs(HttpVerbs.Get)]

 public JsonResult Calender(Guid id)
        { 
        List<TasksToOfficer> officersTasks = null;
        IList<CalendarDTO> tasksList = new List<CalendarDTO>();
        List<TasksToOfficer> officersTasksRecived = null;
            if (String.Compare(Convert.ToString(Session["Role"]), RolesEnum.Admin.ToString())!=0)
            {
                officersTasksRecived = tasks_to_officer_management.GetTasksToOfficers(id);
                foreach (TasksToOfficer tt in officersTasksRecived)
                {
                    DateTime dt = Convert.ToDateTime(tt.Date);
                    tasksList.Add(new CalendarDTO
                    {
                    id=tt.Id,
                    title =tt.Description,
                    start = ToUnixTimespan(dt),
                    end = ToUnixTimespan(dt),
                    url =""}
                    );
                }
            }
          else
                if (String.Compare(Convert.ToString(Session["Role"]), RolesEnum.Officer.ToString()) != 0)
                {
                    officersTasksRecived = tasks_to_officer_management.GetTasksToOfficers(id);
                    foreach (TasksToOfficer tt in officersTasksRecived)
                    {
                        DateTime dt = Convert.ToDateTime(tt.Date);
                        tasksList.Add(new CalendarDTO
                        {
                            id = tt.Id,
                            title = tt.Description,
                            start = ToUnixTimespan(dt),
                            end = ToUnixTimespan(dt),
                            url = ""
                        }
                        );
                    }
                }
            JsonResult resultToView = Json(tasksList);
            return Json(resultToView,JsonRequestBehavior.AllowGet);
        }

错误应该是什么?事实上,我正在尝试附加的事件完全日历控制。我正在拾取记录并在我的操作中构建JSon数据。但是无法在我的日历上显示出来。我要做什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-08 15:31:28

这只是一个猜测,但我认为问题在于您序列化的是JsonResult而不是IList<CalendarDTO>。而不是这样做:

代码语言:javascript
复制
  JsonResult resultToView = Json(tasksList);
  return Json(resultToView,JsonRequestBehavior.AllowGet);

你为什么不试试这个呢?

代码语言:javascript
复制
  return Json(tasksList,JsonRequestBehavior.AllowGet);
票数 3
EN

Stack Overflow用户

发布于 2010-12-08 22:39:09

试试getJson:

代码语言:javascript
复制
 $(document).ready(function () { 

    var officerid = document.getElementById('officerid').value;
    $.getJSON("/TasksToOfficer/Calender/" + officerid, function (data) {

        // do something with 'data'


        });

    });

您可以将浏览器指向如下所示的操作:http://yourdomain.com/TasksToOfficer/Calender/someID,并查看是否会获得一些数据。只需将'someID‘替换为某个现有的ID即可。

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

https://stackoverflow.com/questions/4384935

复制
相关文章

相似问题

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