AJAX成功:功能(数据)不是Premmision 403(禁止)



这是我的简单ajax请求:

$.ajax({
    url: "my/dir/",
    success: function (data) {
        console.log(data);
    }
});

当我在Localhost(Whit Brackets Live Preview)上执行它时,它会生成一个带有目录数据的HTML文件,我可以通过该文件使用一些JQuery解析数据,例如:

$(data).find("a:contains(.jpg)").each(function () {

它完美无瑕!但是,当我在主机提供商上执行相同的AJAX函数时,它给出了 403(禁止)错误,并且会生成带有错误内容的HTML文件,例如

您没有许可,请联系您的主机提供商等。

他们告诉我,这是因为在此目录中没有索引文件要执行..所以他们使我更加困惑,然后他们帮助了我。

是否可以在每个目录中创建手动索引文件的解决方法?还是我缺少 $。ajax

的东西

,这是我的完整源代码,如果很重要:

$('#accordion2 a').on('click', function () {
    if (!$(this).hasClass("added")) {
        $(this).addClass('added');
        var popid = $(this).attr('href');
        var dir = $(this).attr('id');
        $.ajax({
            url: "../images/com_droppics/" + dir
            , success: function (data) {
                $(data).find("a:contains(.jpg)").each(function () {
                    var filename = this.href.replace(window.location.host, "").replace("http://", "");
                    $(popid).append("<img class='zoomable draggable' style='position: relative; left: 0px; top: 0px;' src='" + filename + "'>");
                    $(".draggable").draggable({
                        revert: "invalid"
                    });
                    $(".draggable").disableSelection();
                })
                $('.zoomable').click(function () {
                    $(this).toggleClass('zoom');
                    $(".zoomable").not($(this)).removeClass('zoom');
                })
            }
        })
    }
})

再次..它在我的本地主机上效果很好,当我单击"#councorion2 a"时,它打开弹出窗口并使用提供的目录

附加所有图像

您的Web服务器可能没有激活目录列表(这可能是为您在本地服务器上提供的文件列表的原因,这可能正在运行Apache)。

您可能可以在远程服务器上激活该功能,具体取决于它正在运行的服务器软件以及如何配置。

尝试在root目录中创建(或打开).htaccess文件(或者,如果您只想直接在该目录中列出的一个目录),并说

Options +Indexes

然后,输入要从中获取列表的目录,然后查看会发生什么。您可能仍会收到403,500错误或目录列表。在前两种情况下,您需要与您的网络提供商交谈,看看他们是否可以为您提供帮助。

最新更新