javascript - 在 laravel 中链接外部 javascript 不起作用

标签 javascript laravel

将外部 js 链接添加到 Laravel 应用程序的方式与添加 css 的方式不同吗?我问是因为我已经能够像这样成功添加一个 css 外部文件:

<link rel="stylesheet" type="text/css" href="{{asset('css/custom.css')}}"/>

然而,当我这样做时:

<script src="{{asset('js/autocomplete1.js')}}"></script>

在控制台上我收到一个 404 错误:

GET http://spanibox.com/%7B%7B%20route('searchajax')%20%7D%7D?term=a&type=EmpService 404 (Not Found)

尝试回答时要考虑的两件事:

  1. 如果我只是在我的 Blade View 中编写 javascript,这就有效

2.不确定这是否相关,但在 firefox 上我们有一个警告:

Content Security Policy: Ignoring “'unsafe-inline'” within script-src: ‘strict-dynamic’ specified

最佳答案

它不起作用,因为您试图在 JS 文件中使用 Blade 语法。 在你的 URL 中你有这个 {{ route('searchajax') }} 这是一个 Blade 语法,JS 不知道如何评估它。

您可以创建一个全局对象来保存您的路线或翻译。在您的主 Blade 文件中,您可以在头部添加:

<script>

    window.MY_PROJECT = {
        search_ajax: "{{ route('searchajax') }}";
    };

</script>

然后在你的 JS 文件中这样使用它:

MY_PROJECT.search_ajax // prints out your URL

关于javascript - 在 laravel 中链接外部 javascript 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54717015/

相关文章:

php - 从一个表中获取信息并将返回的信息保存在新表中 - Laravel 5.2

php - 将原始查询添加到 Eloquent 关系中

php - WhereNotExists Laravel Eloquent

javascript - RxJS:将第一个源排队,直到第二个源满足谓词

javascript - 在 href 上触发 2 个事件?滚动到顶部,然后加载

javascript - 变量在 jQuery/JS 中不递增?

javascript - 这种在 React 中遍历对象的方式等效于什么

javascript - Console.log() 影响表达式结果?

laravel - 从 spatie/laravel-medialibrary 获取图像时可以应用急切加载吗?

php - 将 laravel 错误消息更改为 JSON for API