首页 > 解决方案 > 此路由不支持 POST 方法。支持的方法:GET、HEAD。拉拉维尔 6

问题描述

我正在尝试使用 AJAX 发送带有图像的表单,但显然我的路由有问题。我按原样放置路线,它不会向我发送信息。它给了我一个 404 错误。

$('#btn_enviar').click(function() {
  $(this).html('Sending..');

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

  $.ajax({
    data: $('#profesor').serialize(),
    url: "{{ URL('/SuperAdmin/StoreProfesor') }}",
    type: "POST",
    dataType: 'JSON',
    success: function(data) {
    },
    error: function(data) {
      console.log('Error:', data);
    }
  });
});
Route::POST('/SuperAdmin/StoreProfesor', 'ProfesorController@store')->name('/SuperAdmin/StoreProfesor');

标签: jqueryajaxlaravel-6

解决方案


我咨询了一个人,他回答如下,这是因为外部文件无法识别 Laravel 助手。答案是:在我的 html5 文件中:

<button type="submit" id="btn_enviar" data-uri="{{ route('SuperAdmin.StoreProfesor') }}" class="btn btn-lg btn-primary btn-block">Enviar</button>

在我的 ajax 文件中:

$('#btn_enviar').click(function (e) {
        e.preventDefault();
        $(this).html('Sending..');
        var url = $(this).data('uri');
        $.ajax({
          data: $('#profesor').serialize(),
          url: url,
          type: "POST",
          dataType: 'json',
          success: function (data) {


          },
          error: function (data) {
              //console.log('Error:', data);
              $('#btn_enviar').html('Save Changes');
          }
      });
    });

推荐阅读