在js文件中找出$ this-> basePath()

时间:2017-07-05 19:27:50

标签: jquery ajax zend-framework2

我需要在页面上显示从数据库生成的一些产品图像。我用的是ZF2。

我的数据库表包含src列(此列中的数据类似于:img/products/test.jpg),表示img标记src

当我从控制器返回产品对象到查看脚本时,我可以轻松地在.phtml文件中生成图像,img标签是这样生成的:

echo '<img src="' . $this->basePath($product->src) . '">';

通常有效。
现在,我正在修改相同的代码以通过AJAX请求使用jQuery。所以,我需要在.js文件中以某种方式生成img src {。1}}很容易在.js中生成,但img/products/test.jpg部分呢?

2 个答案:

答案 0 :(得分:0)

您似乎期望使用basePath()视图帮助程序的完整网址。这可能不是你想要的。但如果是这种情况,那么您必须配置为使视图助手按照您在module.config.php中的预期工作,如下所示

'view_manager' => [ 

    'base_path' => 'http://yoursite.com/', // <-- replace with your website

    'template_path_stack' => [
        __DIR__ . '/../view',
    ],       
], 

如果您已配置此配置,那么您将获得包含您的域名的网址。

$this->basePath($product->src);

所以上面会输出

http://yoursite.com/img/products/test.jpg

还有另一个视图帮助程序,您可以将其用于不需要像basePath()这样的配置的相同目的。那是

$this->serverUrl(); // Outputs http://yoursite.com

但请记住,此视图助手没有尾部斜杠/。因此,您需要手动将其置于以下位置。请注意/那里。

$this->serverUrl('/path'); // Outputs http://yoursite.com/path

答案 1 :(得分:0)

.phtml文件:

<img src="' . $this->basePath($product->src) . '">

.js文件:

<img src=\"/"+this['src']+"\">