flexigrid如何在发送到脚本时访问url发布的参数

时间:2010-09-22 20:42:56

标签: php jquery

编辑回答:

我试过以下

$(document).ajaxSuccess (function(ev, xhr, s) {
    document.write('url: ' + s.data);
});

我只是得到一个空白页面 - 它确实写出了正确的数据,而不是页面的其余部分

嗨,我正在使用flexigrid,并且我将参数从flexigrid.js发布到php脚本以将json返回到网格。 Flexigrid允许我像jquery应该允许的那样进行排序,过滤等。

我想将最后发布的参数捕获到flexigrid,以便我可以构建一个csv以允许下载相同(完整)的信息。

但是,flexigrid不允许我访问发布的参数。

这是因为flexigrid脚本将所有这些参数保留在自己的范围内吗?我注意到一个变量/对象在firebug中称为sitems,基本上有我需要的所有信息,但javascript不会让我访问它。有没有办法访问发送到flexigrid的参数?非常感谢任何帮助。

Cheers Ke

1 个答案:

答案 0 :(得分:2)

我对flexigrid并不熟悉,但在主页上使用的the source快速登顶,它使用jQuery的$.ajax向您的PHP后端发出请求。因此,虽然flexigrid API可能不允许您发现它发布的参数,但您可以使用jQuery提供的钩子(global ajax events)来监视正在发生的事情。特别是,ajaxSuccess会在您的后端的flexigrid请求成功返回后为您提供所需的信息,此时您可以使用发布的数据构建CSV链接。

尝试在flexigrid homepage上将其粘贴到firebug控制台中,然后运行它,然后单击示例3中的列标题(带有动态数据的Flexigrid):

$(document).ajaxSuccess(
    function(ev, xhr, options) {
        console.info(options.data);
    }
);

您应该会在控制台输出中看到flexegrid发出的data请求中使用的$.ajax值。 e.g。

page=1&rp=15&sortname=printable_name&sortorder=asc&query=&qtype=name