C# getJson无法获取任何数据
我正在使用mvc4和MVC 我有一个控制器动作像C# getJson无法获取任何数据,c#,jquery,asp.net-mvc-4,C#,Jquery,Asp.net Mvc 4,我正在使用mvc4和MVC 我有一个控制器动作像 [HttpGet] public JsonResult GetChildCategories(int id) { Category cat = new Category(id); List<Category> child = new Categories().ToList(cat); //get two list items when jquery calling
[HttpGet]
public JsonResult GetChildCategories(int id)
{
Category cat = new Category(id);
List<Category> child = new Categories().ToList(cat); //get two list items when jquery calling
return Json(child, JsonRequestBehavior.AllowGet);
}
调用这些时,列表子项包含两个项目,但该值不包含在数据中。如果直接从浏览器点击URL会发生什么?您是否正在下载带有记录的json文件 还可以尝试使用:url='@url.ActionGetChildCategories,ControllerName,new{id=1}',这是一种生成更新的传出url的安全方法,以防将来更改路由模板 如果只使用:$,会发生什么情况。获取。。。请尝试此选项,而不是$.getJson…?
public ActionResult GetChildCategories(int id) {
Category cat = new Category(id);
List<Category> child = new Categories().ToList(cat);
return JsonConvert.DeserializeObject<List<Category>>(child);
}
希望这能有所帮助。您的GetChildCategories是否被调用?@vallabha:是的,它被调用,并且在列表中有值。如果您直接从浏览器点击URL会发生什么?您是否正在下载带有记录的json文件?还可以尝试使用:url='@url.ActionGetChildCategories,ControllerName,new{id=1}'@SivaGopal:它显示错误'RecursionLimit Oversed'。您在何时何地收到该错误?在您正在使用的客户端/控制器/对象中?@shyama“当点击控制器操作时,没有错误”。。您是否与控制器中的断点检查过,您的客户端调用正在到达控制器,但无法在客户端上渲染?如果是,正如“超出递归限制”所述,我想您的对象中应该存在一些深层嵌套。尝试从浏览器中点击URL,看看是否可以下载带有记录的JSON文件..直接从浏览器中点击URL,URL='@URL.ActionGetChildCategories,ControllerName,new{id=1}':它显示错误'RecursionLimit Oversed.and使用$.get..@shyama获得相同的结果,您应该在浏览器中使用例如:'@URL.Action。。。应仅在视图代码中使用。
public ActionResult GetChildCategories(int id) {
Category cat = new Category(id);
List<Category> child = new Categories().ToList(cat);
return JsonConvert.DeserializeObject<List<Category>>(child);
}
$(document).ready(function () {
$.ajax({
url: '{BaseURL}/Add/GetChildCategories/1,
type: 'GET'
}).done(function (data) {
var jsonData= JSON.parse(data);
alert(jsonData)
});
});