gpt4 book ai didi

jquery - 在 jqGrid 中显示之前如何 "pre-process"ajax 响应

转载 作者:行者123 更新时间:2023-12-01 00:54:45 26 4
gpt4 key购买 nike

我正在使用 jqGrid 来显示数据库查询的结果。执行查询然后将结果格式化为 XML 以供 jqGrid 使用的 php 脚本还执行一些错误检查。 (例如,它可能会验证日期以确保它们的格式正确,并且开始日期早于结束日期。)这些类型的错误被格式化为 XML,但以与成功查询的格式不同。

我想要做的是拦截 ajax 调用的结果,并根据结果是否包含这些自定义错误之一进行不同的处理。如果不存在错误,那么我想将结果加载到 jqGrid 中。如果出现错误,我只会在没有网格的页面上显示(因为网格是为不同数量的列设置的)。

我正在寻找的是如何进行的正确方法(不一定是实际的代码)。 (我的问题不是如何解析 XML 响应,而是如何拦截它以便我能够解析它。)我曾希望使用 jqGrid 事件,如 gridComplete 或 loadComplete,但这些事件似乎之后网格已经加载。

最佳答案

这是我的最终解决方案。

我的服务器脚本返回 xml 格式的自定义错误:

 <row>
<code>problem</code>
<description>End date is before start date.</description>
</row>

所以我使用@Oleg建议的ajaxGridOptions技术来检查错误标签,如果找到,则显示错误消息:

 ajaxGridOptions:   
{dataFilter:
function(data,dataType){ // preprocess the data
if ( $(data).find("code").text() == 'problem' ) { // check for an error in the result
$("#list").jqGrid('GridUnload');
$("#errormsg").text( $(data).find("description").text() );
}else{
return data;
}
}
}

关于jquery - 在 jqGrid 中显示之前如何 "pre-process"ajax 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3522165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com