Ich versuche, ein Bild anzuzeigen, wo der Bildname von einer MySQL-Abfrage über JSON stammt.JQuery browser console Fehlermeldung
Meine JSON:
[{"data":[{"ClientImageName":"1_logo.png","ClientName":"Name","RoomName":"Room 2","RoomFromTime":"06:00","RoomToTime":"17:00"},{"ClientImageName":"1_logo.png","ClientName":"Name","RoomName":"Room 6","RoomFromTime":"06:00","RoomToTime":"23:00"},{"ClientImageName":"1_logo.png","ClientName":"Name","RoomName":"Room 1","RoomFromTime":"07:00","RoomToTime":"17:00"},{"ClientImageName":"1_logo.png","ClientName":"Name","RoomName":"Room 18","RoomFromTime":"07:00","RoomToTime":"23:00"}]}]
Die jQuery, die die Daten liest, ist:
$(document).ready(function() {
function get_data() {
$.getJSON("get_data_logos.php", function(json){
json = json[0].data;
var tr ;
for (var i = 0; i < json.length; i++) {
tr = $('<tr/>');
tr.css("border-bottom","2px solid #FFF");
tr.append("<td width='33%'><div class='clientimage-text'><img src='../../../../conf_images/boards/'" + json[i].ClientImageName + "></></div></td>");
tr.append("<td width='33%'><div class='clientname-text'>" + json[i].ClientName + "</div></td>");
tr.append("<td width='33%'><div class='roomname-text'>" + json[i].RoomName + "</div></td>");
tr.append("<td width='33%'><div class='time-text'>" + json[i].RoomFromTime + " - " + json[i].RoomToTime + "</div></td>");
$('table').append(tr);
}
});
}
get_data();
setInterval(get_data,60000)
});
Die Linie, die das Bild hat, ist:
tr.append("<td width='33%'><div class='clientimage-text'><img src='../../../../conf_images/boards/'" + json[i].ClientImageName + "></></div></td>");
Als ich das Skript ausführen nur Ein Platzhalter für das Bild wird angezeigt. Wenn ich auf die Konsole schaue, sehe ich die folgende Meldung "Sie sind nicht berechtigt auf/apps/conf/conf_images/boards/ auf diesem Server zuzugreifen."
Wenn ich den Bildnamen fest Code es funktioniert gut.
Meine Frage ist habe ich die JQuery korrekt in Bezug auf die Codezeile geschrieben:
tr.append("<td width='33%'><div class='clientimage-text'><img src='../../../../conf_images/boards/'" + json[i].ClientImageName + "></></div></td>");
Wenn ich die Zeile Code inspizieren ich sehe:
<img src="../../../../conf_images-boards/" 1_logo.png="">
und es sollte
sein<img src="../../../../conf_images-boards/1_logo.png>.
Hallo, Sie versuchen, ändern Erlaubnis Ordner conf_images/boards/mit 'chmod 755'? –
@Guillermo Andres Fuentes Moral Hallo, sie sind bereits 755. sogar 777 ohne Freude versucht. Wie ich sage, wenn ich einen Image-Namen aus dem gleichen Ordner fest codiere, funktioniert es gut. Da die Bildnamen jedoch dynamisch sind, muss der Name der Variablen aus dem Json stammen. – DCJones
Sie versuchen, für Konsole diese 'json [i] .ClientImageName' zu drucken und zu überprüfen, ob Ihr relativer Pfad in Ordnung ist, glaube ich, Ihr relativer Pfad, kann diesen Fehler provoziert –