从JSON数据中获取图像源

Getting an image source from JSON data

本文关键字:图像 获取 JSON 数据      更新时间:2023-09-26

我正试图调用一个PHP文件,并让它从数据库表("page")返回结果(单个记录的"pageLocation")。然后我想把结果放入一个变量中,这样我就可以在html中创建图像时使用它。

目前,图像正在创建中,但源没有输入到图像中,留下了正确大小的默认空图像。

Javascript:

        // Loads a list of comics created by the user from the database.
        function loadComic()
        {
        var xmlhttp = new XMLHttpRequest();
        var getID = '<?php echo $_SESSION["userID"]; ?>';
        var url = "loadCom.php?userID="+getID;

        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
            {
                loadComicJSON(xmlhttp.responseText);
            }
        }
        xmlhttp.open("GET", url, true);
        xmlhttp.send();
        }
        // JSON parsing for 'loadComic'.
        function loadComicJSON(response)
        {
            var arr = JSON.parse(response);
            var i;
            var out = "";
            document.getElementById("loadList").innerHTML="";
            if (arr.length == 0)
            {
                //Non-relevant code affecting layout if no comics are found.
            }
            else
            {   
                out+="<br>";
                for(i = 0; i < arr.length; i++)
                {
// Gets image source from database.
                    imgSrc = "";
                    tempID = arr[i].comicID;
                    $.post("getCover.php", {'comicID':tempID}, function(result)
                    {
                        imgSrc += ("" + result);
                    }
                    );
                    // Creates image item and associated radio button.
                    out += "<hr><br><img name = '" + ('com' + arr[i].comicID) + "' id='" + ('com' + arr[i].comicID) + "' onclick='resizeThumb(this)' height='100px;' src='" + imgSrc + "'><input name='comicList' type='radio' id='" + arr[i].comicID + "' value='" + arr[i].comicID + "'>" + arr[i].comicName + " </option><br><br>";
                }
            }

        }
    </script>

PHP(getCover.PHP):

<?php
if (isset($_POST["comicID"]))
{
    include_once('includes/conn.inc.php');
    $checkID = $_POST["comicID"];
    $query = ("SELECT FIRST (pageLocation) FROM page WHERE comicID = '$checkID' ORDER BY pageNum");
    $result = mysqli_query($conn, $query);

    $conn->close();
    echo ($result);
}
else
{   
    $checkID = null;
    echo "Error. No comic found.";
}
?>

感谢您提供的任何帮助。

您需要从结果中获取数据,如:

$row = $result->fetch_assoc()

此外,是的,Jim G是对的,您需要转义POST变量。