2017-06-19 16 views
0

私は、ローカルフォルダ内のすべての画像をHTMLページにロードしようとしています。コード参照this question。 Eclipseで最初に(Tomcat 8.5)サーバー上で実行されるファイルで、Google ChromeでURLを開きます。その後、アヤックスは、コンソールに応じて失敗します。私が間違って何をしたかAjax url GET 404エラー

GET /Users/jiaqni/.../WebContent/upload 404()

任意のアイデア?相対パス "dir = 'upload /';"いずれも動作しません。みんなありがとう!

<script> 
    $(document).ready(function(){ 
     console.log("Image appending..."); 
     var dir = "/Users/jiaqni/.../WebContent/upload/"; 
     var regexp = new RegExp("\.png|\.jpg|\.jpeg"); 
     $.ajax({ 
      url: dir, 
      success: function (data) { 
       //List all .png .jpg .jpeg file names in the page 
       console.log("Success!"); 
       $(data).find("a").filter(function(){return regexp.test($(this).text());}).each(function(){ 
        var filename = this.href.replace(window.location, ""); 
        ... 
       }); 
      } 
     }); 
    }); 
</script> 

の.htaccessは、それが閲覧可能だことを確認するために/User/.../upload/をフォルダに追加されました。そして、Ajaxがなければ、<img src="upload/xxx.jpeg"/>はそのフォルダに画像を表示します。

+1

URLパスをブラウズできますか?つまり、ブラウザで開いて、その中のすべてのファイルを見ることができますか? – puelo

+0

あなたは正しい 'dir'を指しているようには見えませんか? –

+0

@pueloはい、手動で.htaccessを追加してブラウズ可能にしました。私は "file:///Users/jiaqni/.../upload"でファイルを見ることができますが、Ajaxでは見ることができません。現在のパスに「file://」を追加する必要がありますか? 「クロスオリジン要求はプロトコルスキームでのみサポートされています:http、data、chrome、chrome-extension、https」という別のエラーがスローされます。 –

答えて

0

こちらのURLは、ご使用のコンピュータのローカルリソースを参照していると思います。

残念ながら、これは可能ではありません。通常、ブラウザ(Google Chromeなど)は許可しないことでセキュリティの問題が発生する可能性があります(プライバシー&)。

ファイルをWebサーバー(たとえば、Apache、ngnixなど)に配置し、それに応じてAJAXリクエストのURLを調整する必要があります。

幸運。

+0

Eclipse IDEのローカルリソースにアクセスするのを止めてはいけませんか?さらに、htmlは明示的なコード(ブラウザ内でさえ)でローカルイメージを表示することができました。だから私はAjaxだけがブロックされていると仮定します。 –

+0

はい、AJAXのみがブロックされています。 詳細はこちらをご覧ください:https://stackoverflow.com/questions/17947971/ajax-in-jquery-does-not-work-from-local-file – Catalyst

+0

ありがとうございました!デプロイメントの問題のため、私はXAMPPを使用できませんでした。私は** apache-tomcat-8.5.15/temp/**と** apache-tomcat-8.5.15/wtpwebapps/ProjectName/**にイメージを入れてフォルダを配置しようとしましたが、どちらも問題を解決しません。サーバーフォルダ内のどこにChromeのアクセシビリティのための適切な場所があるのか​​を教えてください。また、なぜ** --disable-web-security **が動作しないのでしょうか?私はそれが最高の解決策ではないことを知っています... –

関連する問題