2016-08-18 13 views
0

ルートフォルダにindex.htmlのWebサイトと​​という名前のフォルダがあります。​​の中に私は別のものを持っていますindex.html。現在、AngularJSを使用して、同じナビゲーションバーを両方のページにロードしようとしています。しかし、私がJavascriptファイル(<script src="/controller.js">)にリンクしようとすると、JSファイルはindex.htmlのルートフォルダにロードされますが、​​フォルダにindex.htmlのファイルをロードすることを拒否します。なぜ誰が知っていますか?​​フォルダには、apples//controller.jsへのリンクが維持されます。ルートディレクトリのファイルにリンクする方法

+0

すべての基本的なデバッグが完了しました。サーバーのアクセスログを確認して、リクエストがどうなったかを確認しますか?たぶんあなたはjsファイルへのアクセスを妨げ、ホームページにリクエストを送信している間違った書き換えを持っています。 –

+0

あなたは1レベル上がるべきです。だから、リンゴフォルダ内のindex.htmlは 'src =" ../controller.js "' –

+0

@ KaushalNiraulaを実行する必要があります:この行をいくつコピーしても、すべてのHTMLページにコピー&ペーストしたいと思います(それはすべてのために同じヘッダーをロードするので)内部のフォルダ。 –

答えて

0

サーバー上またはちょうどあなたのデスクトップ上でこれを実行していますか? Webサーバーから実行している場合は/controller.jsのパスは動作するはずですが、ローカルで呼び出す場合は動作しない可能性があります。

+0

私は 'http-server'(mac上)を使用しましたが、それが問題を解決しました。私はそれをサーバから実行することでその違いが生まれたことに気付かなかった。なぜなのかご存知ですか?そして、助けてくれてありがとう。 –

+0

/controller.jsは、サーバがルートフォルダ(/wwwroot/controller.jsまたは/public_html/controller.js)を参照していることをサーバが認識しているため、サーバ上の有効な絶対パスですが、同じコードをWebブラウザはデスクトップ上の有効なパスではないため、相対パスを使用するか、開発用マシンでWebサーバーを実行する必要があります。 –

0
<script src="../js/controller.js"></script> 
      __ ______ ________ 
      | |  | 
      | |  |___ 3. Get the file named "logo.png" 
      | | 
      | |___ 2. Go inside "images/" subdirectory 
      | 
      | 
      |____ 1. Go one level up 

Reference

+0

これは良い答えですが、私はそこにいくつのフォルダがあっても(すべてのものに同じヘッダをロードしていますが)、この1行のコードをコピーして_any_HTMLページに貼り付けることができます。だから私は '../'メソッドよりも '/'メソッドを好む理由です。 –

関連する問題