我正在开发 MVC 项目,我在 View 页面中使用 jQuery 从 Controller 获取数据。
public JsonResult CheckUpdate()
{
dt = dt.AddSeconds(-100);
IQueryable<Tweet> _tweet = ttr.CheckTime(dt);
return Json(_tweet, JsonRequestBehavior.AllowGet);
}
这是我的 Controller 中的一个方法,它从存储库类获取数据并将其作为 JSON 返回到我的 View 页面,该页面使用 jQuery 来获取它。
当我运行程序并在 Firebug 中检查时,它向我显示一个错误:
A circular reference was detected while serializing an object of type 'TweetTrafficReport.Models.User'
我的问题是
- 我返回 IQueryable 类型的 JSON 数据是否正确
- 如何在 View 页面中使用 JSON 数据而不出现上述错误
感谢您的帮助:)
最佳答案
我打赌循环引用是因为你在ReplyTo中有你的Tweet对象引用
IQueryable 确实不像像 Hanselman 那样将每条推文转换为 JsonCapableTweet 那么大问题 http://nerddinnerbook.s3.amazonaws.com/Part11.htm
不过,看看 Twitter 的做法确实有帮助
http://search.twitter.com/search.json?callback=foo&q=twitter
他们返回的 json 非常好,将你的与他们的匹配是一个好习惯
关于jquery - 返回 JSON 数据以查看 ASP.NET MVC 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3336420/