2012-04-12 114 views
8

我有一個奇怪的問題與誼&的Jquery:Yii的不是汽車,包括jQuery的

當我打開它使用一個頁面的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不這樣做hense沒有Jquery可用。

我很感激,如果有人可以指示一種方式來解決它。

+0

我從來沒有使用過的Yii中,但這裏是我的猜測,嘗試使用相對絕對路徑,而不是? – Gerep 2012-04-12 11:23:16

+0

你是什麼意思「不這樣做」?這些標籤根本不在''裏面嗎? – Jon 2012-04-12 11:25:34

+0

或嘗試使用Google CDN(內容分發網絡)爲jQuery提供服務:http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js – 2012-04-12 11:26:13

回答

19

看起來好像你沒有以正確的方式註冊jQuery。您必須添加在/protected/views/layout/main.php以下行之前</head>標籤:

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

它會自動加載jQuery的。請記住,如果YII_DEBUG標誌處於打開狀態,它將加載未縮小的版本,停用時(生產時)它將加載縮小版本。希望這能解決你的問題。

+1

其實這條線的位置並不重要。你可以把它放在一個控制器,視圖等,但我不認爲這是這裏的問題 – acorncom 2012-04-13 03:42:48

+1

這是解決方案。我沒有明確註冊jQuery,因爲它工作正常,所以我甚至不知道我應該這樣做。它剛剛發生,因爲Yii調試工具欄包含了jQuery,並且該工具欄在服務器上關閉了,所以它工作正常。 – 2012-04-13 08:13:07

1

如果一切工作在本地機器上它可能是一個權限問題

是否檢查/資產是可寫您的服務器上?

Yii的發佈,它需要在運行時的資產這個目錄

+0

這是我檢查的第一件事情,所有目錄都是可寫的。 – 2012-04-13 08:06:36