调用Ajax返回500错误的解决方法

看代码:

 1   public ActionResult UserLogin(LogOnModel model)
 2         {
 3             #region 验证码验证
 4             
 5             #endregion
 6 
 7            OperationResult result=   _identity.ValidateUser(model.UserName, EncryptAndDecrypte.EncryptString(model.Password));
 8 
 9 
10            if (result.ResultType==OperationResultType.Success)
11             {   //登陆成功
12                 SysUser user = (SysUser) result.Data;
13                 //Account account = new Account
14                 //{
15                 //    PersonName = user.UserName,
16                 //    Name = user.NickName,
17                 //    Id = user.Id
18                 //};
19                 _sysAuthenticationService.SignIn(user,false);
20                // Utils.WriteCookie("account",account,7);
21 
22                 result.Data = null;
23             }
24 
25             return Json(result);
26         }

我就是ajax调用的这个类方法,从方法中看不出任何问题,我们看26行的,他是将一个对象序列化JavaScript的表示,在我的理解中,它应该会将result对象序列化为json对象的表示形式,

这样在系统内部转换的时候就出现问题了,出现了循环引用的报错。所有我将result.Data 设置为空,解决问题。

所以最终的原因是出来SysUser这个类上,先Mark下。有时间在解决了、

原文地址:https://www.cnblogs.com/xujie520/p/5152140.html