php – 在Yii框架上使用ajaxButton / ajaxSubmitButton阻止加载j
发布时间:2020-12-13 22:09:48 所属栏目:PHP教程 来源:网络整理
导读:我的布局上有jQuery加载资产,我想使用C Html :: ajaxButton / ajaxSubmitButton. 但是当我在运行时使用它与另一个渲染时,它再次加载jQuery资源并产生错误. 如何防止脚本加载? ?php echo CHtml::ajaxSubmitButton( 'Submit',CHtml::normalizeUrl(array('site
我的布局上有jQuery加载资产,我想使用C
Html :: ajaxButton / ajaxSubmitButton.
但是当我在运行时使用它与另一个渲染时,它再次加载jQuery资源并产生错误. 如何防止脚本加载? <?php echo CHtml::ajaxSubmitButton( 'Submit',CHtml::normalizeUrl(array('site/AjaxRequest/30')),array( 'error'=>'js:function(){ alert('error'); }','beforeSend'=>'js:function(){ alert('beforeSend'); }','success'=>'js:function(data){ alert('data from server: '+data); }','complete'=>'js:function(){ alert('complete'); }',//'update'=>'#response',) ); ?> 解决方法
这也是IMO非常烦人的问题.我解决的方法是创建CClientScript的派生类,并将其用作clientScript组件(您可以覆盖配置文件中的类类型):
'clientScript' => array ( 'class' => 'MyClientScript',), 我的类重写了“registerCoreScript”函数,该函数用于注册Yii包含的jQuery和其他基本脚本. public function registerCoreScript($sName) { if (Yii::app()->request->isAjaxRequest) return $this; return parent::registerCoreScript($sName); } 这可以防止在ajax调用期间加载任何核心脚本(并再次添加资源). 您也可以对其他函数执行相同的操作(例如registerScriptFile) 希望有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |