php – 在Yii框架上使用ajaxButton / ajaxSubmitButton阻止加载jQuery资产
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 在Yii框架上使用ajaxButton / ajaxSubmitButton阻止加载jQuery资产,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1143字,纯文字阅读大概需要2分钟。
内容图文
我的布局上有jQuery加载资产,我想使用CHtml :: 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和其他基本脚本.
我在那里做的几乎是添加ajax的检查,如果是的话,不将它传递给父类.
它看起来像这样:
public function registerCoreScript($sName)
{
if (Yii::app()->request->isAjaxRequest)
return $this;
return parent::registerCoreScript($sName);
}
这可以防止在ajax调用期间加载任何核心脚本(并再次添加资源).
您也可以对其他函数执行相同的操作(例如registerScriptFile)
希望有所帮助.
内容总结
以上是互联网集市为您收集整理的php – 在Yii框架上使用ajaxButton / ajaxSubmitButton阻止加载jQuery资产全部内容,希望文章能够帮你解决php – 在Yii框架上使用ajaxButton / ajaxSubmitButton阻止加载jQuery资产所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。