如何对不同的数据集进行单个 get 请求?
How can make a single get request for different sets of data?
我有 2 个操作 returns json 数据。
第一个动作通过 ajax 请求来填充第一组控件,这对整个项目来说仍然是通用的,但必须在每次单击菜单时填充,但页面的下部是可变的并且需要填充不同的数据。
现在我想要的是发送单个请求并在 1 个 get 请求中完成 2 件事。
public JSONRESULT GetCommonData()
{
return JSONDATA;
}
public JSONRESULT GetVariableData()
{
return JSONDATA;
}
现在单个 ajax 调用应该能够在不发送第二组数据请求的情况下执行此操作。
您可以创建一个视图模型,并且您可以 return 在单个操作中同时获取 2 个数据。在动作上你可以随心所欲地获取变量。
public class JsonResult
{
public object CommonData { get; set; }
public object VariableData { get; set; }
}
如果您有一些关系数据,您可能会遇到循环引用错误。你可以这样使用它:
var jsonResult = JsonConvert.SerializeObject(yourmodel, Formatting.Indented,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
return Json(jsonResult, JsonRequestBehavior.AllowGet);
我有 2 个操作 returns json 数据。
第一个动作通过 ajax 请求来填充第一组控件,这对整个项目来说仍然是通用的,但必须在每次单击菜单时填充,但页面的下部是可变的并且需要填充不同的数据。
现在我想要的是发送单个请求并在 1 个 get 请求中完成 2 件事。
public JSONRESULT GetCommonData()
{
return JSONDATA;
}
public JSONRESULT GetVariableData()
{
return JSONDATA;
}
现在单个 ajax 调用应该能够在不发送第二组数据请求的情况下执行此操作。
您可以创建一个视图模型,并且您可以 return 在单个操作中同时获取 2 个数据。在动作上你可以随心所欲地获取变量。
public class JsonResult
{
public object CommonData { get; set; }
public object VariableData { get; set; }
}
如果您有一些关系数据,您可能会遇到循环引用错误。你可以这样使用它:
var jsonResult = JsonConvert.SerializeObject(yourmodel, Formatting.Indented,
new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
return Json(jsonResult, JsonRequestBehavior.AllowGet);