Jquery Ajax:尝试提取请求并将其输入到bootstrap轮播中

I am trying to pull ads into a bootstrap carousel on a chrome extension, first I got an error that said

bootstrap.min.js:6 Uncaught TypeError: Cannot read property 'offsetWidth' of undefined

I did some research and found the error was because I did not have the item active class and now I am trying to find a work around but cannot. I am trying to basically see if I can add a div after the one that contains the active. Here is my code and what I have tried...

main.js - variables and some functions have been taken out due to a large file

var myFuncs = { //Put in a class so I don't have to type it multiple times 
    ajaxRequest: function(target, method, url)
    {
        $.ajax({
            url: url,
            method: method,
            success: function(data) 
            {
                $(target).html(data).after(".item active");
            }
        });
    }
};

l1.addEventListener("mouseover", function() {
    l1.className = "active";
}, false);
l1.addEventListener("mouseout", function() {
    l1.className = ""; //Hackish but it works - class still appears but is not assigned 
}, false); //The other event listeners that do the same are taken out to avoid a long question they are all the same basically but l1 is changed to l2-l8

l1.addEventListener("click", function() {
    if (ajaxTarget[0].style.display === "none")
    {
        ajaxTarget[0].style.display = "block";
    }
    myFuncs.ajaxRequest(".b", "POST", ""); //Sensitive information taken out for stackoverflow question
}, false); Again l2-l8 was taken out to avoid a long question

I have no problems in the console.log. Here is my PHP...

<?php
    $servername = "";
    $username = "";
    $passcode = "";
    $dbname = "";

    $conn = mysqli_connect($servername, $username, $passcode, $dbname);

    if (!$conn)
    {
        echo 'Could not connect';
    }
    else 
    {
        try
        {
            $sql_query = mysqli_query($conn, "SELECT * FROM `adDatabase`");
            while ($row = mysqli_fetch_array($sql_query))
            {
                $id = $row['ID'];
                $img = $row['img'];
                $image = '<section class="item"><img src="data:image/png;base64,'.base64_encode( $row['food'] ).'" style="height: 12em; width: 12em; margin: 1em; padding: 0.9em; " ></section>';
                echo $image;
            }
        }
        catch(Exception $e)
        {
            echo $e;
        }
    }
?>

The images show up just fine in this PHP file, but when I try to load after the active class nothing shows up could I get some help on this?

1个回答



如果您已经拥有一个活动项目,那么在您需要调用$(“#your-container”)之后插入一个新项目 ).carousel( “下一步”)。 Bootstrap会处理剩下的事情(从当前项目中删除.active并将.active设置为新项目)</ p>
</ div>

展开原文

原文

If you already have an active item, then you insert a new one after it you need to call $("#your-container").carousel("next"). Bootstrap will take care the rest thing(remove .active from current item and set .active to new item)

dqrqp8492
dqrqp8492 我不知道如何从Jquery ajax请求将图像放入轮播中。
4 年多之前 回复
dongtaijiao7140
dongtaijiao7140 PHP很好。 它返回图像。 它的Jquery ajax没有把图像放在旋转木马上
4 年多之前 回复
douxi5940
douxi5940 或者你可以实现一个API来返回<image>标签的二进制数据,你的标签看起来像<image src =“your-server / api / images / image-id”>我不是PHP专家,所以我可以告诉你 你怎么用这个
4 年多之前 回复
douying1119
douying1119 因此,如果您的图像在db中,您可以编写API来返回该图像的base46数据,然后您的<image>将如下所示<image src =“data:image / png; base64,iVBORw0KGgoAAAANSUhEUgAAADIA ...”>
4 年多之前 回复
drfcaw7460
drfcaw7460 从我所看到的,图像文件是一个链接,我的广告不在链接中。 他们在数据库中。 所以我需要发一个ajax请求。 如果你能告诉我如何将其纳入我的ajax请求中,这将是非常棒的。
4 年多之前 回复
dongmin4990
dongmin4990 只是一些想法代码,希望它可以帮助你的真实情况:)
4 年多之前 回复
douda5706
douda5706 啊,我明白了,所以这也适用于mysqli?
4 年多之前 回复
drz5553
drz5553 你去jsfiddle.net/DTcHh/21985
4 年多之前 回复
doucandiao9180
doucandiao9180 我的坏,没有保存,所以你也看不到它
4 年多之前 回复
dongyan2267
dongyan2267 旋转木马需要有活动。 所以我会把活动默认 - 在那里有一个标签或什么。 然后在活动后加载容器中的ajax请求。 我只是不知道如何从mysqli服务器加载图像并将它们放入旋转木马。
4 年多之前 回复
douwenan9849
douwenan9849 我看不到JS,滑块也改变了发现,但是图像不会输入旋转木马。
4 年多之前 回复
douhu2131
douhu2131 希望这有助于jsfiddle.net/DTcHh
4 年多之前 回复
duanjianl183188
duanjianl183188 我正在使用ajax从服务器中提取图像
4 年多之前 回复
duanhuang7591
duanhuang7591 你什么意思? 你能展示一个jsfiddle吗?
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐