【问题标题】:Laravel api call failsLaravel api 调用失败
【发布时间】:2023-03-31 22:10:01
【问题描述】:

所以我在 larachat 中问了这个问题并在 google 中搜索。我知道以前有人问过类似的问题,但没有一个对我有用。

我正在尝试加载 post 的评论,但请求甚至没有到达 api.php 这是我所做的请求:

axios.get(`/api/posts/${this.post.id}/comments`)

比我在 api.php 里面有这个:

Route::get('/posts/{id}/comments', function(){
     return "got here";
});

但我得到了错误:GET http://localhost/api/posts/2/comments 404 (Not Found)

即使我手动尝试使用以下方式访问 api:http://localhost/api/posts/2/comments

我仍然收到 The requested URL /api/posts/2/comments was not found on this server. 我不知道我是否可以通过这种方式访问​​它,但我试过了。

我运行 php artisan route:list 并在列表中得到它,如下所示:

GET|HEAD | api/posts/{id}/comments | | Closure | api |

【问题讨论】:

  • 你确定 http://localhost/ 是你的 laravel 应用托管的地方吗?当您访问http://localhost/ 时,您看到了什么?
  • 先尝试在.env文件中正确设置APP_URL。
  • @JacobGoh 不,它在lexicon/public
  • @AbidRaza 我的主页网址是 http://localhost/lexicon/public/home 所以我应该将 APP_URL 设置为:APP_URL=http://localhost/lexicon 而不是:APP_URL=http://localhost
  • 只是想知道您是否确定它在端口 80 上为您的站点提供服务?你在使用php artisan serve 吗?

标签: php laravel api vue.js laravel-5.6


【解决方案1】:

如果您在 localhost 中运行应用程序,那么您的 url 必须是 http://localhost/projectfolder/public/api/posts/2/comments

有一个包含http://localhost/projectfolder/public/api/ 的基本网址。然后你可以通过添加基本 url 来调用 url

【讨论】:

  • 在 JQuery 中提供var url = '{{ route("url") }}'; 之类的链接非常容易,你能告诉我如何提供网址,以便它也可以在实际服务器中工作吗?
  • 在实际服务器中,您会将域指向扩展公用文件夹。您不必担心实际的服务器。因为域将指向公用文件夹。然后这个 /api/posts/${this.post.id}/cmets 将按原样工作。在本地只需使用 PHP artisan serve 运行应用程序,以使应用程序在单独的端口中运行,例如 localhost:8000,然后您不必更改代码。
  • 所以你是说,我没有机会用 wamp 访问那个 url?因为当我手动尝试时。链接为http://localhost/lexicon/public/api/posts/2/comments
猜你喜欢
  • 1970-01-01
  • 2018-03-01
  • 2021-06-30
  • 2020-12-17
  • 2014-02-15
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多