Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Yii不是自动包含jquery的_Php_Jquery_Yii - Fatal编程技术网

Php Yii不是自动包含jquery的

Php Yii不是自动包含jquery的,php,jquery,yii,Php,Jquery,Yii,我对Yii&Jquery有一个奇怪的问题: 当我在localhost上打开一个使用ajax/jquery的页面时,Yii会自动向页面的 <link rel="stylesheet" type="text/css" href="/PATH/assets/f72b359d/style.css" /> <script type="text/javascript" src="/PATH/assets/2e442e1a/jquery.js"></script> <

我对Yii&Jquery有一个奇怪的问题:

当我在localhost上打开一个使用ajax/jquery的页面时,Yii会自动向页面的

<link rel="stylesheet" type="text/css" href="/PATH/assets/f72b359d/style.css" />
<script type="text/javascript" src="/PATH/assets/2e442e1a/jquery.js"></script>
<script type="text/javascript" src="/PATH/assets/2e442e1a/jquery.cookie.js"></script>

但是,当我在服务器上运行相同的代码时,Yii不会这样做,因为没有可用的Jquery


如果有人能指点解决方法,我将不胜感激。

您似乎没有以正确的方式注册jQuery。必须在
标记之前的
/protected/views/layout/main.php
中添加以下行:

<?php Yii::app()->clientScript->registerCoreScript('jquery'); ?>


它将自动加载jQuery。请记住,如果启用了“YII_DEBUG”标志,它将加载非精简版本,当停用(在生产中)时,它将加载精简版本。希望这能解决您的问题。

如果所有设备都在本地计算机上运行,则可能是权限问题

您是否已检查/资产是否可在服务器上写入


Yii在运行时将所需的资产发布在此目录中

我从未使用过Yii,但我猜,尝试使用绝对路径而不是相对路径?你说“不这样做”是什么意思?标签根本不在
中吗?或者尝试使用Google CDN(内容交付网络)为jQuery提供服务:不能保证YII会将资产放在服务器上与本地主机上相同的位置。你确定路径正确吗?src=“/PATH/assets/2e442e1a/jquery.js”等路径中的2e442e1a部分将更改,但不包括具有此类路径src=“/PATH/assets/2e442e1a/jquery.js”的Yii资产。您应该通过Yii::app()->getClientScript()获得的via CClientScript方法包含/注册JS代码。实际上,该行的位置并不重要。你可以把它放在一个控制器,在一个视图中,等等。但是我不认为这是问题所在,这是解决方案。我没有明确注册jQuery,因为出于某种原因,它工作得很好,所以我甚至不知道应该这么做。我刚刚想到它正在工作,因为Yii调试工具栏包含了我的jQuery,并且该工具栏在服务器上被关闭。这是我检查的第一件事,所有目录都是可写的。