由AJAX调用的Laravel Route无法正常工作

时间:2016-11-09 13:58:34

标签: php jquery ajax laravel routing

首先,我想告诉你,我的项目基本上是如何构建的。 我有我的观点和控制器。然后在公共> 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文件)以及如何解决?

2 个答案:

答案 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'