Php 使用选项卡时,CGridView会过滤重复的Ajax请求

Php 使用选项卡时,CGridView会过滤重复的Ajax请求,php,ajax,yii,cgridview,Php,Ajax,Yii,Cgridview,在我的web应用程序中,我使用选项卡并按照Ajax加载部分视图。因此,我可以多次加载相同的CGridView,而无需重新加载页面。如果出现这种情况,如果我使用CGridView过滤器,我将成为重复的Ajax请求 过滤器和请求是标准的。下面的图像显示了这些简单的过滤器和10个GET请求(如果键入一次搜索值) 以下是我使用的Tabs小部件的代码: $this->widget('bootstrap.widgets.TbTabs', array( 'id' => 'thirdPartyC

在我的web应用程序中,我使用选项卡并按照Ajax加载部分视图。因此,我可以多次加载相同的
CGridView
,而无需重新加载页面。如果出现这种情况,如果我使用
CGridView
过滤器,我将成为重复的Ajax请求

过滤器和请求是标准的。下面的图像显示了这些简单的过滤器和10个GET请求(如果键入一次搜索值)

以下是我使用的Tabs小部件的代码:

$this->widget('bootstrap.widgets.TbTabs', array(
'id' => 'thirdPartyCatTabs',
'title' => Translate::t('project', 'Categories'),
'type' => 'tabs',
'placement' => 'top',
'events' => array(
    'shown' => 'js:loadContent'
),
'tabs' => array(
    array(
        'id' => 'standardCat',
        'label' => Translate::t('project', 'Standard Categories'),
        'linkOptions' => array(
            'data-tab-url' => Yii::app()->createUrl('/thirdParty/settings/thirdPartyCategoryStandard'),
        ),
    ),
    array(
        'id' => 'standardCatMap',
        'label' => Translate::t('project', 'Standard Category-Mapping'),
        'linkOptions' => array(
            'data-tab-url' => Yii::app()->createUrl('/thirdParty/settings/showCategoryMapTab'),
        ),
    ),
)
));
我想我必须在某个地方使用
uniqid()
,但不知道在哪里。
谢谢。

你在哪里加载你的小部件,这是你应该放置
uniqueid()的地方。
我想:当然。问题是,每个Ajax都会多次加载元素。但是我不知道应该在哪里使用
uniqid()
查看我发布的链接中的注释那里有一些好主意。我已经在注释中尝试了解决方案,但没有结果。在我看来,您需要使
standardCat
id
唯一
,但您可能已经尝试过了。