无法通过console.log输出图片完整路径的问题求助
无法通过console.log输出图片完整路径的问题求助
看起来你的核心问题是JS里的console.log只输出了../slike/,没带上图片文件名,而且后续的删除函数也可能因为语法错误无法正常工作。我帮你梳理几个关键问题点和修复方案:
JS语法错误导致脚本中断
你看obrisi函数里的这段代码:let slika = <?=$podaci->slika?>;当PHP渲染后,图片名是字符串(比如
1699999999_test.jpg),会变成let slika = 1699999999_test.jpg;——这在JS里是完全无效的语法,因为字符串没有被引号包裹。浏览器会直接抛出语法错误,导致整个JS脚本停止执行,连前面popuniKategorije里的console.log都可能没机会运行。修复方法很简单,给PHP输出的字符串加上引号:
let slika = "<?=$podaci->slika?>";另外,下面的
console.log($zadatak);也有问题,JS里没有$zadatak这个变量,你应该用前面声明的zadatak变量:console.log(zadatak);确保PHP变量正确输出
虽然你说显示图片时正常,但还是建议先在PHP代码里直接测试$podaci->slika的值,确认它在当前页面是有效的:<?php require "../konekcija/konekcija.php"; require "../modeli/zadatak.php"; $zadatak = trim($_GET["zadatak"]); $podaci = Zadatak::vratiPodatke($zadatak, $konekcija); // 临时添加这行,查看输出结果 echo "图片名:" . $podaci->slika; ?>如果这里输出为空,那说明当前页面的
$_GET["zadatak"]参数有问题,或者vratiPodatke函数没有查询到对应的数据——这时候你需要检查URL里的zadatak参数是否正确传递了。优化console.log的写法
为了避免PHP输出的内容破坏JS字符串结构,建议先把图片名存到JS变量里再拼接路径:function popuniKategorije() { $.ajax({ url: '../funkcije/popuniKategorije.php', success: function (data) { $("#kategorija").html(data); postaviKategoriju(); // 先存变量再拼接 const imagePath = "../slike/" + "<?=$podaci->slika?>"; console.log(imagePath); } }); }
备注:内容来源于stack exchange,提问作者user21626341
相关产品推荐
相关产品推荐

