首页 > 解决方案 > 使用 Ajax 在 Laravel 中的路线中找不到错误

问题描述

我正在使用 Laravel 5.6,但出现错误:


哎呦,看起来像出事了。(1/1) MethodNotAllowedHttpException


以下是我的观点(leads/show.blade.php):

<form method="post" id="student_form">
    {{csrf_field()}}
    <span id="form_output"></span>
    <div class="form-group">
        <label>Choose Group for Your Lead</label>
        <select name="group_id" id="group_id" class="form-control">
            @foreach($groups as $group)
                <option value="{{$group->id}}"> {{$group->name}}</option>
            @endforeach
       </select>
       <input type="hidden" name="customer_id" id="customer_id" value="{{$lead->id}}">
   </div>
   <div class="modal-footer">
       <input type="hidden" name="student_id" id="student_id" value="" />
       <input type="hidden" name="button_action" id="button_action" value="insert" />
       <input type="submit" name="submit" id="action" value="Add" class="btn btn-info" />
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    </div>
</form>
<script type="text/javascript">
           $(document).ready(function() {


               $('#student_form').on('submit', function(event){
                   event.preventDefault();
                   var form_data = $(this).serialize();
                   $.ajax({
                       url:"{{ route('leads.savegroup') }}",
                       method:"POST",
                       data:form_data,
                       dataType:"json",
                       success:function(data)
                       {
                           if(data.error.length > 0)
                           {
                               var error_html = '';
                               for(var count = 0; count < data.error.length; count++)
                               {
                                   error_html += '<div class="alert alert-danger">'+data.error[count]+'</div>';
                               }
                               $('#form_output').html(error_html);
                           }
                           else
                           {
                               $('#form_output').html(data.success);
                               $('#student_form')[0].reset();
                               $('#action').val('Add');
                               $('.modal-title').text('Add Data');
                               $('#button_action').val('insert');

                           }
                       }
                   })
               });

           });
       </script>

路线是:

Route::post('leads/savegroup', 'LeadsController@savegroup')->name('leads.savegroup');

请帮我找出错误。

标签: phpajaxlaravellaravel-5routes

解决方案


尝试

url:"{{ url('leads/savegroup') }}"

代替 :

url:"{{ route('leads.savegroup') }}"

也许工作。


推荐阅读