如果有更多有用的代码或错误,请与我们联系。
我的问题是我有外部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)
我的每个导航栏链接如下
%= 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.
非常感谢任何方向。
答案 0 :(得分:3)
您的javascript文件是以相对方式引用的,因为您使用./
启动路径。
当你在路线/
(即http://localhost:3000/)时,这很好,因为从./search.js
开始的/
是http://localhost:3000/search.js。但当您使用/user_list
路线(即http://localhost:3000/user_list)时,您的./
现在位于/user_list
,因此它正在寻找文件{{3} }。网络服务器现在在user_list/search.js
文件夹中查找文件public
,但该文件不存在,因此会出现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