mercredi 26 septembre 2018

Why is my JQuery AjaxQ unable to access a route link in my Laravel app

I have a Laravel app where a blade view which calls a controller backend using Jquery ajaxQ. The blade has an array loop where each element makes the call. I need to queue each element ajax call, i.e. the current ajax call needs to be completed before the next Ajax call is made.

On my route.php, I have this:

$this->group(['middleware' => ['auth', 'profile']], function () {
   #get/post here
   $this->post('ajaxcall', 'SomeController@ajaxcall');
});

On my view blade, this is how I make my AjAXQ call:

@push('script')
<script src="/js/jquery.ajaxq.js"></script>  
<script>
function genopts(){
      return {
      type: 'POST',
      url: '/ajaxcall',
      data: data_post,
      cache: false,
      success: function(){
         //some code here
      },
      error: function(){
        //some code 
      }
      dataType: 'json',
      async:false
      }
}
var csrf_token = $( "input[name*='_token']" ).val();
var arrID = [1, 2, 3, 4, 5];
arrID.forEach(function(id){
      var data_post = {};
      data_post.id = id;
      data_post['_token'] = csrf_token;
      $.ajaxq (id, genopts);
});
</script>
@endpush

The AjaxQ returns a 404 error. Previously I was using $.ajax(), but since this is asynchronous, I could not queue each ajax call in its sequential order.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire