Nivo滑块不会从PHP文件加载Ajax响应

Nivo滑块不会从PHP文件加载Ajax响应,php,jquery,ajax,image,nivo-slider,Php,Jquery,Ajax,Image,Nivo Slider,我正在尝试使用PHP将图像导入HTML,但NivoSlider没有加载该文件。 我寻找问题的原因。 我正在打印一条关于响应和正确的警告消息 以下是HTML和AJAX查询: <div id="workcontent" class="pcontent" style="display:none;"> <div class="slider-wrapper theme-default"> <div id="slider" class="

我正在尝试使用PHP将图像导入HTML,但NivoSlider没有加载该文件。 我寻找问题的原因。 我正在打印一条关于响应和正确的警告消息

以下是HTML和AJAX查询:

<div id="workcontent" class="pcontent" style="display:none;">
        <div class="slider-wrapper theme-default">
            <div id="slider" class="nivoSlider">

            </div>
        </div>
        <script>
            $(document).ready(function() {
                var wl = $('#worklist div');
                wl.on('click', function(){
                    var name = $(this).attr('id');
                    console.log(name);
                    $.ajax({
                        url: 'read.php',
                        type: 'POST',
                        data: { data : name }
                    }).done(function (response) {
                        $('#slider').prepend(response);
                        alert(response);
                    });

                });
            });
        </script>
        <div id="back"></div>
    <div id="backcontainer">
        <div id="back">
            <a href="index.php">Back</a>
        </div>
    </div><!--End backcontainer-->
</div><!--End content-->

$(文档).ready(函数(){
var wl=$(“#工作列表div”);
wl.on('单击',函数(){
var name=$(this.attr('id');
console.log(名称);
$.ajax({
url:'read.php',
键入:“POST”,
数据:{data:name}
}).完成(功能(响应){
$(“#滑块”)。前置(响应);
警报(响应);
});
});
});
下面是另一个jQuery:

<script>
    $(document).ready(function() {
        $('#slider').nivoSlider(function(){alert('OK');});
    });
</script>

$(文档).ready(函数(){
$('#slider').nivoSlider(函数(){alert('OK');});
});
此警报不显示!):

最后,这里是PHP代码:

<?php
if (isset($_POST["data"])){
    if ($_POST["data"] == "") {
            echo "data ures";
    } else {
        $data = $_POST["data"];
        $fname = "content/".$data."/*.*";
        $files = glob($fname);
        for ($i=0; $i<count($files); $i++)
        {
            $num = $files[$i];
            echo '<img src="'.$num.'" data-thumb="'.$num.'">';
        }
    }
} else {
    echo "nem jott data";
}
?>


抱歉,我的英语不好

NivoSlider不使用函数作为参数。

另外,在AJAX调用返回响应之前,
.nivoSlider()
可能会被调用。 更好的解决办法是:

$(document).ready(function() {
    $.ajax({
        url: 'read.php',
        type: 'POST',
        data: { data : name }
    }).done(function (response) {
        $('#slider').prepend(response).nivoSlider( {} );    
    });
});

现在,您可以相当确定
#slider
包含来自响应体的图像,以便NivoSlider可以对其进行操作。

Ohh,thx!在AJAX调用之前我试过了,但没有。但是你的方法成功了!