최근에 내가 게시 한 것으로 보이는 것은 JSON을 사용하는 ASP.NET MVC입니다. 그러나, 내가 설명 할 수없는 이상한 일들이 계속 일어나고있다. 내보기에이 수신에 관해서 그러나 때ViewModels의 JSON 객체를 반환하는 ASP.NET MVC
public JsonResult GetAllUserTasksForStage(int StageID, string Username)
{
var uM = ManagerProvider.GetUserManager();
var tM = ManagerProvider.GetTaskManager();
var tasks = tM.GetAllUserTasks(StageID, uM.GetUser(Username).ID);
// GetAllUserTasks returns IEnumerable<TaskViewModel>
// Encode this into Json and return it
return Json(tasks, JsonRequestBehavior.AllowGet);
}
이 방법은 성공적으로 완료, 문제가 발생 :
은 내가 JsonResult을 반환하는 컨트롤러의 방법이있다. 나는 $ .post (...)와 $ .getJSON (...)을 모두 사용하여 시도했다. $ .post()에 대해 JsonRequestBehavior를 Controller 메소드에서 제거했다.
jQuery 문서 읽기 $ .post와 $ .getJSON의 콜백 함수는 결과가 유효한 JSON 인 경우에만 실행된다는 것을 알았습니다. GetAllUserTasksForStage의 반환 된 결과에 문제가 있다고 생각합니다. 하지만 결코 TaskViewModel를 반환하지 않습니다 -
public class TaskViewModel
{
public int ID { get; set; }
public UserViewModel Assignee { get; set; }
public DateTime Created { get; set; }
public UserViewModel Creator { get; set; }
public DateTime Due { get; set; }
public string TaskDescription { get; set; }
public string TaskTitle { get; set; }
public bool Completed { get; set; }
public StageViewModel Stage { get; set; }
public IEnumerable<TaskAuditViewModel> TaskAudits { get; set; }
}
그것은 날 완전히 난처한 상황에 빠진거야 내가 $ .post와 아무런 문제와 같은보기를 여러 번에 $ .getJSON을 사용했습니다 같은 :로
TaskViewModel 클래스가 정의됩니다.
아이디어가 있으십니까?
감사합니다,
크리스
"문제가 발생합니까?" 더 구체적으로 좀 해주실 수 있습니까? Firebug 또는 Fiddler에서 JSON을 검사 해 보셨습니까? –
$에 주어진 콜백 함수.post()와 $ .getJSON이 실행되지 않아 잘못된 JSON이 반환된다는 것을 의미합니다. 그러나 이것이 잘못된 JSON 인 이유를 알지 못합니다. – Chris
문제의 유형에 대해 누군가가 적절하게 설명 할 수 있도록 생성되는 오류의 유형을 지정해야합니다. – Israfel