首先,我想告诉你,我的项目基本上是如何构建的。 我有我的观点和控制器。然后在公共> JS文件夹中我放置了jQuery以及一个名为sweealert的插件。
现在我做了this,所以我向控制器发送ajax请求,然后控制器返回数据(abouot categories)。
现在我遇到了问题。我有两个不同的视图,一个有路由/addProduct
,那里一切正常。另一条路线用于编辑产品,因此对于ID为1的产品,这些路线例如为/editProduct/1
。在该视图中,使用描述的ajax不起作用。
子类别都没有切换,也没有任何其他的jQuery工作。控制台告诉我原因:
https://localhost/editProduct/js/jquery-3.1.1.min.js Failed to load resource: the server responded with a status of 404 (Not Found)
https://localhost/editProduct/js/sweetalert.min.js Failed to load resource: the server responded with a status of 404 (Not Found)
1:4 Uncaught ReferenceError: $ is not defined(…)
所以jQuery和sweetAlert插件被查找在错误的文件夹中,所以jQuery无法正常工作,这就是为什么我的AJAX成功回调不再起作用了......现在的问题是,为什么?像addProduct
这样的路径有效,但有一些东西(如editProduct/1
)的路径不起作用?不,没有错别字或任何可能导致问题的错误,我试图硬编码产品的ID以在代码中进行编辑,因此我可以调用/editProduct
并且这样做有效,所以这是添加的ID另外。
这个问题来自哪里(为什么在错误的目录中搜索js文件)以及如何解决?
答案 0 :(得分:3)
您正在加载错误的脚本。 使用
<script src="{{ asset('js/jquery-3.1.1.min.js') }}"></script>
始终确保您的脚本正确加载,无论您使用的是什么网址。
另请参阅:https://laravel.com/docs/5.3/helpers#method-asset
和https://laravel.com/docs/5.3/helpers以获得更棒的辅助函数。
答案 1 :(得分:1)
需要在您的脚本中写入url,例如'/js/jquery-3.1.1.min.js'