2017-09-22 46 views
3

請讓我知道是否有更多的代碼或錯誤,將有所幫助。Mojolicious External References不適用於只有一頁

我的問題是,我有外部的JS文件,我的所有網頁都可以找到他們接受一個。當我進入「用戶」部分時,每個外部文件都會得到一個404。還看起來它要求每個人兩次?

我在公用文件夾中有我的外部JS。我還在主頁面中引用了每個頁面共享的內容。

我在一個完整的無所適從,這可能是...

我的默認佈局包含。

<head> 
    <script type="text/javascript" src="./search.js"></script> 
    <script type="text/javascript" src="./employee_information.js"></script> 
    <script type="text/javascript" src="./requests.js"></script> 
</head> 

在我的公用文件夾我有(employee_information.js,requests.js和search.js)

的每一個導航欄我的鏈接是ASA如下

%= link_to 'Home' => 'phone_book_form' 
    %= link_to 'Users' => 'user_index' 
    %= link_to 'Account' => 'account_details' 

我的路徑如下如下

$r->get('/')->name('phone_book_form')->to('PhoneBook#form'); 
    $admin_authorized->get('/user_list')->name('user_index')->to('User#index'); 
    $authorized->get('/account_details')->name('account_details')->to('Account#details'); 

只有我的用戶索引頁無法找到外部js。

在Firefox開發者工具

我得到一個200開始,然後在下一次,我收到了304,然後在我的用戶索引頁,我得到6個404。

我想我找到了問題... enter image description here

任何方向是非常讚賞。

+0

標籤爲Perl,JavaScript中,阿賈克斯,exteral,mojolious,當標籤的99%是不相關的 –

+0

我用perl與mojolicious的問題,我的外部文件是JS那持有我的ajax命令。對不起,什麼是更合適的標籤? – gregnnylf94

+0

但其中99%與問題無關,標籤應該與問題相關,而不是您使用的所有內容。還請在有問題的地方添加頁面代碼,無法在沒有代碼的情況下指出錯誤。 –

回答

3

您的JavaScript文件以相對方式引用,因爲您以./開始路徑。

當你的路線/(即http://localhost:3000/),工作正常的,因爲開始/./search.jshttp://localhost:3000/search.js。但是,當您處於/user_list路線(即http://localhost:3000/user_list)時,您的./現在處於/user_list,因此它正在查找文件http://localhost:3000/user_list/search.js。網絡服務器現在在public文件夾中查找文件user_list/search.js,但該文件不存在,因此會呈現404錯誤。

         | here 
<head>        V 
    <script type="text/javascript" src="./search.js"></script> 
    <script type="text/javascript" src="./user_information.js"></script> 
    <script type="text/javascript" src="./requests.js"></script> 
</head> 

而是使用從根目錄/開始的絕對路徑。所以這些URI應該是:

/search.js 
/user_information.js 
/request.js 
+2

果然。感謝您的耐心和幫助。 – gregnnylf94

相關問題