Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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
Javascript ajax调用后图像加载失败_Javascript_Jquery_Html_Ajax_Zend Framework - Fatal编程技术网

Javascript ajax调用后图像加载失败

Javascript ajax调用后图像加载失败,javascript,jquery,html,ajax,zend-framework,Javascript,Jquery,Html,Ajax,Zend Framework,我是新来的,我有一个问题,我找不到答案 我在Zend上用MVC运行了一个web应用程序。在客户端,我使用Jquery执行一个Ajax调用,以Json格式返回一些数据。使用javascript方法,我能够创建与结果对应的HTML代码。在这之前,一切都很顺利:-) 我的问题是,当我试图生成一个html组件(如需要URL的图像)时 这是我的密码: <script type="text/javascript"> $.getJSON("/index/items", function(d

我是新来的,我有一个问题,我找不到答案

我在Zend上用MVC运行了一个web应用程序。在客户端,我使用Jquery执行一个Ajax调用,以Json格式返回一些数据。使用javascript方法,我能够创建与结果对应的HTML代码。在这之前,一切都很顺利:-)

我的问题是,当我试图生成一个html组件(如需要URL的图像)时

这是我的密码:

<script type="text/javascript">
    $.getJSON("/index/items", function(data) {
        var items = [];
        $.each(data, function(key, val) {
            items.push('<li id="resultList-' + val.id + '" class="resultList"><img src="images/item.jpg" alt="img">' + val.name + '</li>');
        });

        $('<ul/>', {
            'id': 'resultList',
            'class': 'myClass',
            html: items.join('')
        }).appendTo('#divResult');
    });
</script>

<div id="content">
    <div id="divResult"></div>
</div>

$.getJSON(“/index/items”),函数(数据){
var项目=[];
$。每个(数据、函数(键、值){
items.push(“
  • “+val.name+”
  • ”); }); $(“
      ”{ “id”:“结果列表”, “类”:“myClass”, html:items.join(“”) }).appendTo(“#divResult”); });
    因此,我将图像
    src=“images/item.jpg

    我的问题是找不到图像,我只得到'alt'标签->错误404

    打开firebug时,我可以在URL上看到GET查询:

    http://myWebsite/controller/images/item.jpg

    当然,服务器在这里找不到它,因为我将图像放在了:
    /project/public/images
    文件夹

    据你说:

  • 您认为实施良好(安全)吗
  • 解决我的问题的最好方法是什么

  • 请理解,所有这些对我来说都是新的,我会努力学习。

    处理这一问题的最佳方法是将其置于相对路径中

    如果目录结构为:

    project/
       html/
         htmlfile.html //references the image file
       js/
         jsfile.js //references the image file
       images/
         item.png
    
    那么你需要使用

    <img src="../images/item.jpg" alt="img" />
    
    
    

    这指定了图像文件相对于访问图像的文件的路径。

    我没有想到这一点……对不起。“相对于js文件”->相对于javascript正在执行的.html文件。