2013-04-10 5 views
0

Я новичок здесь, и я получил вопрос, что я не нахожу ответа ...нагрузки Изображение сбой после вызова Ajax

Я получил веб-приложение работает на Zend с MVC. На стороне клиента, используя 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> 

Так я положил в образе src="images/item.jpg

Моя проблема заключается в том, что изображение не найдено, я только получаю «альт» ярлык -> Ошибка 404.

Когда я открываю поджигатель, я могу увидеть запрос GET по URL-адресу:

HTTP: // МойВебСайт/контроллер/им возрасты/Item.jpg

Конечно, сервер не смог найти его здесь, потому что я положил изображение в: /project/public/images папку ...

Согласно вам:

  1. Do вы думаете, что реализация хороша (безопасна)?
  2. Каков наилучший способ исправить мою проблему?

Пожалуйста, поймите, что все это новое для меня, и я стараюсь учиться.

ответ

0

Лучший способ справиться с этим - положить его в относительный путь.

Пример, если структура каталогов:

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" /> 

Это указывает путь к файлу изображения относительно файла, обращающегося изображение.

+0

И я не думал об этом ... извините. –

+0

* "относительно файла js" * -> * относительно файла .html *, где выполняется javascript. –