You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:03:11