gpt4 book ai didi

javascript - Mojolicious 外部引用不只在一页上工作

转载 作者:行者123 更新时间:2023-11-29 10:30:54 26 4
gpt4 key购买 nike

如果有更多有用的代码或错误,请告诉我。

我的问题是我有外部 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>

在我的公共(public)文件夹中,我有(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。

我想我发现了问题... enter image description here

非常感谢任何方向。

最佳答案

您的 javascript 文件以相对方式引用,因为您的路径以 ./ 开头。

当您在路线 / 上(即 http://localhost:3000/ )时,效果很好,因为 ./search.js/ 开始> 是 http://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

关于javascript - Mojolicious 外部引用不只在一页上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com