一尘不染

发出Ajax请求时出现403禁止错误

ajax

我试图通过从slide_images文件夹中获取所有图像名称并将其附加到来动态地动态显示滑块图像。

<script>
var dir = "images/slider_images";
var fileextension = ".jpg";
$.ajax({
url: dir,
type: "POST",
success: function (data) {
    $(data).find("a:contains(" + fileextension + ")").each(function () {

        var url = this.href;
        var filename = url.substring(url.lastIndexOf('/')+1);
          //alert(filename);
        $(".slides").append($("<li><img src=" + dir +"/"+ filename + "></img></li>"));
    });
}
});
</script>

阅读 382

收藏
2020-07-26

共1个答案

一尘不染

最后,我通过使用json解决了这个问题。 首先,我创建getimages.php文件并读取该文件中的目录,并获取所有图像名称并将该名称存储在数组中。

getimages.php

<?php
$filenameArray = array();
$handle = opendir(dirname(realpath(__FILE__)).'/images/slider_images/');
    while($file = readdir($handle)){
        if($file !== '.' && $file !== '..'){
            array_push($filenameArray, "images/slider_images/$file");
        }
    }

echo json_encode($filenameArray);
?>

从要动态加载图像的页面调用getimages.php。

index.php

$.ajax({

        url: "getimages.php",
        dataType: "json",

        success: function (data) {
            alert("success");
            $.each(data, function(i,filename) {
                alert(filename);
                $('.slides').append('<li><img src="'+ filename +'" class="drop_shadow" alt="Slider Image 1" /></li>');
            });
        }
    });

这对我来说是完美的。 我要尝试这个。这是使用ajax从文件夹加载图像的非常简单的方法

2020-07-26