2016-12-15 9 views
0

これは私の簡単なAjaxのリクエストです:Ajaxの成功:機能(データ)premmisionない403(禁止)

私は(聖霊降臨祭ブラケットがプレビューを生きる)それはデータを含むHTMLファイルを生成し、私のローカルホスト上で実行
$.ajax({ 
    url: "my/dir/", 
    success: function (data) { 
     console.log(data); 
    } 
}); 

私はいくつかのjqueryのようなデータを解析することができます:

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

それは完璧に動作します!あなたが権限を持っていませんが、私は私のホストプロバイダに同じAJAX機能を実行すると、それは(禁断)403を与えるエラー、およびそれがエラーのものを使用してHTMLファイルを生成し、

のように、あなたに連絡してくださいホストプロバイダなど

このディレクトリに実行するインデックスファイルがないため、彼らは私に助けてくれました。

各ディレクトリにインデックスファイルを手動で作成しないようにする回避策はありますか? それとも、それが重要な場合、私はここで$アヤックス

で何かが欠けていますが、私の完全なソースコードであるということです。

再び
$('#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'); 
       }) 
      } 
     }) 
    } 
}) 

とき、私...それは、私のローカルホスト上の素晴らしい作品"#accordion2 a"をクリックするとポップアップが開き、指定されたディレクトリにすべての画像が追加されます

+0

何が起こっているかについてCORSを参照してください。 – manonthemat

+0

@manonthemat現在のアドレスのローカルURLですか? –

+0

「このディレクトリ」に「インデックスファイル」がないということは、その要求に対して提供できるindex.php/index.htmlファイルがないことを意味します。一部の設定ではディレクトリへのアクセスのみが禁止されているため、リクエストに対応するデフォルトのindex.phpファイルがない場合は、リクエストに応じて403が表示されます。 – Artemis

答えて

1

あなたのWebサーバーにはおそらくdirectory listingsが有効になっていません(おそらくあなたのローカルサーバー上のファイルリストおそらくApacheを実行しています)。

実行中のサーバーソフトウェアとその構成方法によっては、リモートサーバー上でそのサーバーをアクティブ化することができます。

(それはあなたが直接そのディレクトリに、列挙されたいただ一つのディレクトリかどうか、).htaccessあなたのルートディレクトリにファイルを作成(または開口部)試してみてください、それが入力し、その後

Options +Indexes 

を言っていあなたがリストを取得したいディレクトリと、何が起こるか見ることができます。 403、500エラー、またはディレクトリ一覧のいずれかが表示されることがあります。最初の2つのケースでは、あなたのWebプロバイダに相談し、彼らがあなたを助けることができるかどうかを確認する必要があります。

+0

@Alfonso、パブリックに直面しているディレクトリを閲覧できる管理者はごくわずかです。大きなセキュリティ懸念。ただし、リストを作成して返すサーバーサイドオブジェクトを作成することができます。 – Bindrid

+0

オプション+インデックスは、404を与えています、それは3つのタグ、タイトル、プレ、imgとそれ以上何かを生成するいくつかのHTMLレスポンスを生成します...ここで更新は響きのフィドルですhttps://jsfiddle.net/804vdmkb/ – kloshar4o

+0

@ ok応答のようなAlfonso - 空のディレクトリのディレクトリリスト、いいえ? –

関連する問題