【问题标题】:404 Not Found error when using ajax in Laravel在 Laravel 中使用 ajax 时出现 404 Not Found 错误
【发布时间】:2017-05-30 07:44:01
【问题描述】:

我已经建立了一个评论板,并且正在使用 ajax 通过路由发送用户输入的内容以及其他相关数据。但是,每当我尝试这样做时,控制台都会向我发送 404 错误。

这是ajax代码

if ($('#discussionBoardNewComment').val()) {
  $.ajax({
    type: "POST",
    url: "/project/identification/comment/{{$project}}",
    data: {
        comment: $("textarea[name='discussionBoardNewComment']").val(),
    },
}

这是我的路线的结果:列表

如果还有什么需要的话告诉我

【问题讨论】:

  • 我不知道它是否相关,但你没有通过 ajax 请求传递 csrf _token
  • @linktoahref 这将导致TokenMismatchException 而不是NotFoundHttpException
  • @IvankaTodorova 是的,正确!
  • 假设您使用标准路由,您需要在 url 中传递项目 id。 $project 也是项目 ID 吗?
  • 你是怎么显示那个错误页面的?您只有一个添加 cmets 的 post 路由,因此在浏览器中打开链接将尝试访问 get 路由。 ajax 调用不应该重定向。您需要在表单中发布您的视图代码以及完整的 js 代码。

标签: ajax laravel


【解决方案1】:

显然这不是你的道路。尝试使用action() 生成您的网址。

if ($('#discussionBoardNewComment').val()) {
  $.ajax({
    type: "POST",
    url: "{{action('ProjectsController@comment', ['project' => $project->id])}}",
    data: {
        comment: $("textarea[name='discussionBoardNewComment']").val(),
    },
}

【讨论】:

  • 您好伊万卡,感谢您的回复。当我更改我的网址以适合您的网址时,我收到错误“Action App\Http\Controllers\App\Http\Controllers\ProjectController@comment not defined.”
  • 哦,该死,应该只有action('ProjectsController@comment', ['project' => $project])。我已经更新了我的答案。
猜你喜欢
  • 2016-10-05
  • 1970-01-01
  • 2017-09-03
  • 2012-09-27
  • 2021-07-20
  • 1970-01-01
  • 2017-11-25
  • 2018-03-05
  • 2017-10-19
相关资源
最近更新 更多