Zend Framework,FusionCharts,PHP,Javascript

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (10)

这里有点奇怪:我在1.12中有一个Zend Framework设置。我的模型工作正常,我的所有包含都已设置...但在视图中,Zend似乎无法找到存在的FusionCharts.js文件。我在操作中附加了如下内容,当我检查Firebug上的路径时,它绝对正确 - 但仍然返回错误并声称它找不到.js文件。无论如何 - 这是代码:

public function indexAction()
    {
        try{
            $model = new Application_Model_DbTable_Daily;
            $dau = $model->getStats();
            $this->view->dau = $dau;
        }
        catch(Exception $e) {
            $this->view->dau = $e;
        }
        $this->view->headScript()->appendFile('/dashboard/public/fusioncharts/Charts/FusionCharts.js');
    }

所以 - 在我看来,我得到:

<?php
echo $this->headScript();

echo "<pre>";
     $FC = new FusionCharts("Line", "500", "300");
     $FC->setSwfPath("/public/fusioncharts/Charts/");
     $strParamDAU = "caption=Daily Active Users;streamlinedData=0;decimals=0;decimalPrecision=0;formatNumberScale=0;slantLabels=1;labelDisplay=ROTATE";
     $FC->setChartParams($strParamDAU);
     foreach($this->dau as $k=>$v) {
         $FC->addChartData($v['session_date'], "label=" . $v['DAU']);
     }
    $FC->renderChart();

echo“”;

但是当我在firebug中查看视图时,我得到一个错误,说它在公共目录中找不到FusionCharts.js(路径绝对是正确的!)。有什么想法会发生这种情况吗?在那。Firebug读取正确的目录(GET localhost / dashboard / public / fusioncharts / Charts / FusionCharts.js),但是firebug错误表明它无法看到该文件。谢谢您的帮助!!

提问于
用户回答回答于

如果文件真的在那里,名称是FusionCharts.js:

尝试添加BaseUrl(只是为了安全起见):

$this->view
     ->headScript()
     ->appendFile($this->view->baseUrl() . '/dashboard/public/fusioncharts/Charts/FusionCharts.js');

接下来检查你的.htaccess,也许你不转发JS文件?正确.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励