php – 如何在Yii上的Ajax请求上禁用jQuery自动加载?
发布时间:2020-12-13 13:13:01 所属栏目:PHP教程 来源:网络整理
导读:我使用以下代码生成一个ajax请求: echo CHtml::dropDownList('teamA','',EnumController::getTeamOption(),array( 'empty' = '(Team / Single)','ajax' = array( 'type'='POST','url'= $url,'update'="#resultA",//'data'="js:$('#teamA').hide().fadeIn()"
我使用以下代码生成一个ajax请求:
echo CHtml::dropDownList('teamA','',EnumController::getTeamOption(),array( 'empty' => '(Team / Single)','ajax' => array( 'type'=>'POST','url'=> $url,'update'=>"#resultA",//'data'=>"js:$('#teamA').hide().fadeIn()" ) ) ); 在我的主要布局中,我有以下几点: <?php Yii::app()->clientScript->scriptMap=array('jquery.js'=>false);?> <?php Yii::app()->clientScript->scriptMap=array('jquery.min.js'=>false);?> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script> Yii正在从资产中加载jQuery副本,然后直接从Google加载另一个副本.我只想使用Google副本,并强制Yii不会从资产载入自己的副本.我该怎么做?
在Yii中,您不应该在主布局中对任何JavaScript信息进行硬编码.
Yii可以确定是否已经包含客户端脚本(javascript),但是对于核心脚本(如jquery或jqueryui),您必须修改配置文件中的这些包. 打开main.php配置文件,并在CClientScript组件中添加所需的所有js软件包(您应该将其添加到组件中),如下所示: 'clientScript'=>array( 'packages'=>array( 'jquery'=>array( 'baseUrl'=>'//ajax.googleapis.com/ajax/libs/jquery/1.8/','js'=>array('jquery.min.js'),'coreScriptPosition'=>CClientScript::POS_HEAD ),'jquery.ui'=>array( 'baseUrl'=>'//ajax.googleapis.com/ajax/libs/jqueryui/1.8/','js'=>array('jquery-ui.min.js'),'depends'=>array('jquery'),'coreScriptPosition'=>CClientScript::POS_BEGIN ) ),), 那么,每次你需要jquery就可以在你的代码之前添加它: $cs = Yii::app()->getClientScript(); $cs->registerCoreScript('jquery'); 那么Yii将会包含jquery(或任何其他脚本)一次,即使你在代码中多次调用它也是如此. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |