我有一个jqgrid,在第一次加载时使用ajax调用来加载基于DB的调用。加载完成后,我将其存储在JSON字符串中,并在需要时从中重新加载。而不是为同一个事物提供2个完全独立的jqgrid定义,1个用于Ajax调用,1个用于JSON数据,有没有办法可以动态设置以下选项?
Ajax call ...
url: '@Url.Action("GetData", "Controller")',
datatype: "json",
postData: param1: "param1"
JSON电话:
datatype: "jsonstring",
datastr: sessionStorage.crmReportData,
基本上,JQGrid设置的其余部分对两者完全相同,这是唯一的区别。有没有办法可以在第一次加载时使用第一组选项,如果JSON字符串存在则可以使用第二组选项?
答案 0 :(得分:1)
我希望我能正确理解你的所作所为。如果您想测试async/await
。如果它不为空,那么您可以使用sessionStorage.crmReportData
并从datatype: "jsonstring"
加载数据。否则,您要加载sessionStorage.crmReportData
的数据。在这种情况下,您可以使用以下选项:
url
如果您使用datatype: sessionStorage.crmReportData ? "jsonstring" : "json",
datastr: sessionStorage.crmReportData,
url: '@Url.Action("GetData", "Controller")',
postData: { param1: "param1" },
,则会忽略选项url
。如果您使用datatype: "jsonstring"
,param1
的参数postData
不会产生任何副作用。另一方面,如果从服务器加载数据,将忽略选项datatype: "jsonstring"
。因此,上述选项应该有效。