调用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值