【问题标题】:MethodNotAllowedHttpException : Calling POST method using Ajax LaravelMethodNotAllowedHttpException : 使用 Ajax Laravel 调用 POST 方法
【发布时间】:2016-11-24 11:42:40
【问题描述】:

我正在尝试对 Laravel post 方法进行 ajax 调用。但我得到 MethodNotAllowedHttpException。可能的问题之一是 ajax 调用和路由控制器中的请求类型不匹配,但事实并非如此。

使用 Postman,我可以确认 Post 路由工作正常。这让我可以选择专注于 AJAX 调用。

问题 #1

routes.php

Route::post('/test', 'HomePageController@test');

custom.js

$.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
 });

然后,

$('#teacher-save-submit').click(function(){
    
  var fname = $('#first_name').val();
  var lname = $('#last_name').val();
  var email = $('#email').val();
  var passkey = $('#passkey').val();
    
  $.ajax(function(){        
    type:"POST",
    url:"/test",
    dataType: "json",
    success:function(data){
      console.log("success");
      $('#sbt-result').html(data);
     }
   });
});

#问题#2

在控制台中,它显示 Uncaught SyntaxError: Unexpected token : at url:"/test"

如果你们能分享你的经验,那就太棒了。

谢谢。

编辑

这是我得到的具体错误。我认为这是在搜索一些 GET 方法而不是 Posts

【问题讨论】:

  • 尝试在您的 ajax data: { '_token': token}, 的数据中发布 CSRF 令牌。在哪里token = '{{ csrf_token() }}'

标签: php jquery ajax http-post laravel-5.2


【解决方案1】:

也许你忘了放“元”标签:

<meta name="csrf-token" content="{{ csrf_token() }}" />

【讨论】:

    【解决方案2】:

    改变

    Route::post('test', 'HomePageController@test');
    

    js:

    url:"{{url('test')}}",
    

    并防止默认点击事件

      $('#teacher-save-submit').click(function(e){
        e.preventDefault();
        //ajax call
    

    【讨论】:

    • 我通常使用{{action('Controller@method')}},但是,当我像他为我的特定请求一样指定 URL 时,它仍然在我的项目中工作。
    • @madalin,我已经编辑了帖子。检查屏幕截图。我认为它正在发送一个获取请求。
    • @NaumanZafar 您根本没有进行 ajax 调用您正在进行页面重定向,请查看我的更新答案
    • @AndrewNolan 。我也检查过,但对我不起作用。能否请您看一下截图。我认为 laravel 正在寻找获取请求
    • @Nauman Zafar,这与这个答案更相关。我不确定你的 url 是否有效。我的项目中有一些 ajax 请求,我尝试了你如何声明 url,它工作得很好。
    猜你喜欢
    • 2019-05-07
    • 1970-01-01
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 2012-12-02
    • 1970-01-01
    • 2018-04-03
    相关资源
    最近更新 更多