2017-05-07 35 views
0

我想在忘記的密碼錶單中使用AJAX。在此之前,我只是試圖在控制檯中看到一條消息,但我得到的最大校準堆棧大小超過錯誤。我搜索了很多解決方案,並且知道它是由於迭代調用函數而沒有限制條件,但與我的代碼無關。Uncaught RangeError:在AJAX調用中超出最大調用堆棧大小Laravel 5.4

enter image description here

HTML表單:

<form class="form-vertical" id="recoverform" role="form" method="POST"> 
       <input type="hidden" id="token" name="_token" value="{{ csrf_field() }}"> 

        <div class="controls"> 
         <div class="main_input_box"> 
          <span class="add-on bg_lo"><i class="icon-envelope"></i></span><input id="recover_email" type="email" name="email" placeholder="E-mail address" value="{{ old('email') }}" required /> 
         </div> 
        </div> 

       <div class="form-actions"> 
        <span class="pull-left"><a href="#" class="flip-link btn btn-success" id="to-login">&laquo; Back to login</a></span> 

        <span class="pull-right"> <button type="submit" class="btn btn-info">Recover 
        </button></span> 
       </div> 
      </form> 

的Javascript:

<script> 
      jQuery(document).ready(function($) { 
       $('#recoverform').on('submit', function(e) { 
        e.preventDefault(); 
        //var email = $('#recover_email').val(); 
        //var host = "{{URL::to('/')}}"; 
        $.ajax({ 
         type: "POST", 
         url: "{{URL::to('/ajax')}}", 
         data: { '_token': token }, 
         dataType: 'json', 
         success: function (response) { 
         console.log('done'); 
         } 
        }); 

       }); 
      }); 
     </script> 

路線:

在HomeController中
Route::POST('ajax', array('uses' => '[email protected]'))->name('ajax'); 

方法:

public function ajaxTest(){ 
     $response = array(
      'status' => 'success', 
      'msg' => 'Setting created successfully', 
     ); 
     return Response::json($response); // <<<<<<<<< see this line 
    } 
+0

您是否嘗試使用狀態碼發送響應: 返回response() - > json(['data'=> $ response],200); –

回答

0

我還停留在這個類似的問題,但後來我弄明白。這個問題可能是由於遞歸函數引起的。在我的情況下,沒有任何遞歸函數。我只是修復了我的csrf_token,如果你的問題仍然保持完好,那麼在Chrome瀏覽器中轉到網絡選項卡並切換到預覽以查看php錯誤消息。

相關問題