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

标签 php jquery ajax laravel routes

首先我想告诉你,我的项目的基本结构是怎样的。 我有我的观点和我的控制者。然后在 public>JS 文件夹中我放置了 jQuery 以及一个名为 sweealert 的插件。

现在我做到了this ,所以我向 Controller 发送一个 ajax 请求,然后 Controller 返回数据(关于类别)。

现在我遇到了一个问题。我有 2 个不同的 View ,一个有路线 /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文件)以及如何解决?

最佳答案

您加载的脚本错误。 使用

<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更多精彩的辅助函数。

关于php - AJAX 调用的 Laravel Route 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40508746/

相关文章:

javascript - 中止所有异步请求

javascript - Ajax 调用等待音频媒体加载

javascript - 通过 Ajax 将 Summernote 代码发布到 PHP,然后插入数据库

php - 将数组回显到新行中

php - Laravel 查询

javascript - 使用 d3.js 将 CSV 解析为 HTML 表时出现问题

javascript - 使用 Filereader API 加载图像并使用 JSZip 压缩它

javascript - 为什么javascript在 'return false'之后工作?

php - 从数据库中仅选择字符串的标签部分

php - 如何使用其他数据库作为引用从mysql数据库检索用户数?