如何对不同的数据集进行单个 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);