0

何時間にもわたる調査と試行錯誤の末、ようやく backbone.js ルートを機能させることができました。例外が 1 つあります。 「/workingdir/routepath/」または「/workingdir/routepath/asdf」などを入力すると、ウェブサイトが壊れて、次のようなエラーが表示されます。

Resource interpreted as Stylesheet but transferred with MIME type text/html:  "http://example.com/staging/personal/css/style.css". fj:5
Resource interpreted as Script but transferred with MIME type text/html: "http://example.com/staging/personal/scripts/jquery-1.7.2.min.js". fj:6
Uncaught SyntaxError: Unexpected token < jquery-1.7.2.min.js:1
Resource interpreted as Script but transferred with MIME type text/html: "http://example.com/staging/personal/scripts/nav.js". fj:6
Resource interpreted as Script but transferred with MIME type text/html: "http://example.com/staging/personal/scripts/underscore-min.js". fj:6
Uncaught SyntaxError: Unexpected token < underscore-min.js:1
Resource interpreted as Script but transferred with MIME type text/html: "http://example.com/staging/personal/scripts/backbone-min.js". fj:6
Uncaught SyntaxError: Unexpected token < backbone-min.js:1
Uncaught SyntaxError: Unexpected token < 

また、ページにはスタイリングがまったくありません。この問題は、URL のスラッシュが原因で、css および js ファイルのパスが間違った場所を指すようになっていると考えられます (「staging/css/」および「staging/scripts/」にあるはずですが、ログが示すように) 、「staging/personal/xxx」を探しています)。

これを修正する方法についてのアイデアはありますか? お時間をいただきありがとうございます!

4

2 に答える 2

1

相対パス参照は、リクエスト URI の末尾にスラッシュがあるかどうかによって、異なる方法で解決されます。それがあなたの問題の原因だと思います。次のリンクを検討してください。

<!-- Relative path references -->

<link href="staging/css/style1.css">

<link href="./staging/css/style2.css">


<!-- Absolute path reference -->

<link href="/workingdir/staging/css/style3.css">

これらのパスは、リクエスト URI に応じて次のように解決されます。

REQUEST_URI = /workingdir/routepath

/workingdir/staging/css/style1.css

/workingdir/staging/css/style2.css

/workingdir/staging/css/style3.css


REQUEST_URI = /workingdir/routepath/

/workingdir/routepath/staging/css/style1.css

/workingdir/routepath/staging/css/style2.css

/workingdir/staging/css/style3.css

したがって、末尾のスラッシュまたは追加のセグメントを使用してリクエストを行う機能が必要な場合は、絶対パス参照を使用する必要があります。

于 2012-06-14T01:35:06.170 に答える
0

この問題を抱えている他の人と共有するだけです。私は同じ問題を抱えていましたが、今では別の解決策があります。.htaccess へのこれらの追加は、最初はうまくいきませんでした。

AddType application/x-javascript .js
AddType text/css .css 
AddType text/javascript .js
AddType text/css .css
AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType application/woff .woff
AddType font/woff .woff
AddType font/opentype .woff
AddType application/x-font-woff .woff
AddType application/vnd.ms-fontobject .eot
AddDefaultCharset UTF-8
Options -Indexes

最後に、以下のパスが localhost で機能しているのに、大文字と小文字を区別するサーバーがパスを受け入れないことに気付きました。

\js\prettyPhoto\js\jquery.prettyPhoto.js

それ以外の

\js\prettyphoto\js\jquery.prettyPhoto.js

CAPITAL p はこれらすべてのエラーを起こしていました! 「Uncaught SyntaxError: Unexpected token <」と「リソースはスタイルシートとして解釈されましたが、MIME タイプ text/html で転送されました:」があるため、あなたの場合もそうかもしれません。

それが役立つかどうか教えてください:)

于 2013-08-24T01:42:36.073 に答える