我在我的项目中使用了jqgrid插件。它有loadComplete
事件,此描述:
loadComplete
:此事件在每次服务器请求后立即执行。 参数:数据 - 响应中的数据取决于数据类型网格参数。
此事件仅以data
为参数,但在此事件中我需要xhr
(XmlHttpRequest
的实例)。实际上,我需要在每次服务器请求后立即访问XmlHttpRequest
实例。我该怎么做?
答案 0 :(得分:0)
请在jqGrid的所有问题中发布jqGrid和fork(free jqGrid,Guriddo jqGrid JS或版本&lt; = 4.7中的旧jqGrid)的版本。< /强>
回调loadComplete
将在从服务器获取响应后执行,解析响应,填充当前页面以及下一页的其他数据(以防万一)使用loadonce: true
选项)也在本地保存。因此,您应该使用beforeProcessing
或loadBeforeSend
或loadError
来访问jqXHR对象,该对象是XMLHttpRequest的jQuery扩展名。
当您需要访问jqXHR
时,有不同的情况:
loadBeforeSend
可用于在发送到服务器的请求中设置一些自定义HTTP标头。有关典型代码示例,请参阅the answer。beforeProcessing
可用于检查服务器响应,并在之前修改data
处理。jqXHR
对象保存到内部jqXhr
参数。可以使用abortAjaxRequest
方法中止它。内部jqXhr
参数将在null
处理开始时直接清除(设置为success
)。如果我正确理解了您的问题,那么您可以在向服务器发送Ajax请求后直接使用jqXhr
参数。我是免费jqGrid fork的开发者,因此我可以推荐给你。当前版本的免费jqGrid是4.11.1。您可以通过将jqGrid的URL修改为the wiki article中描述的URL来测试它。