2016-07-29 6 views
0

Ich habe diese Ajax-Anfrage auf meinem localhost arbeiten. Aber wenn ich auf meinen Share-Host lade, werfen sie 500 interne Serverfehler. Ich gehe am Token vorbei.Ajax funktioniert nicht auf Live-Server Laravel

var token = $('meta[name="csrf-token"]').attr('content'); 
    $('.enviarForm').on('click',function(){ 
     var data = { 
       'email': $('#email').val(), 
       'phone': $('#phone').val(), 
       'consulta':$('#consulta').val(), 
       '_token':token, 
       "_method": 'post' 
      }; 
      console.log(data); 
     $('.enviarForm').html("Enviando...<img src='{{asset('img/loading-form.gif')}}'' alt=''>"); 
     $.ajax({ 
      method: 'POST',   
      url:'http://har***ine.com/public/testPost', 
      data:data, 
      success: function(msg) { 
       if(msg['message'] == 'success'){ 
        $('.enviarForm').html("Enviado"); 
        $.notify({ 
         // options 
         message: 'Tu consulta fue enviada. Dentro de 24hs te responderemos a tu email o teléfono. Muchas gracias.' 
        },{ 
         // settings 
         type: 'success', 
         placement: { 
          from: 'bottom', 
          align: 'center' 
         } 
        }); 
       }else{ 
        $('.enviarForm').html("Enviar"); 
        $.notify({ 
         // options 
         message: 'Error: Por favor complete todos los campos e intente nuevamente.' 
        },{ 
         // settings 
         type: 'danger', 
         placement: { 
          from: 'bottom', 
          align: 'center' 
         } 
        }); 
       } 
      }  
     }); 
    }); 

Mein Test-Controller sind dies:

 public function testPost(Request $request){ 
     return response()->json(['message'] => 'success'); } 

Meine Route Datei sind dies:

Route::post('/testPost',[ 

    'uses' => '[email protected]', 

    'as' => 'contacto.testPost', 

]); 

ich viele Dinge ausprobiert, aber ich es nicht machen Arbeit. Das csrf token sein okey, .htaccess sind ok und das wichtigste Ding arbeitet an localhost. Hat jemand eine Idee? Ich mache damit verrückt.

+7

Das erste, was mit 500-Fehler zu tun ist, __read logs__ –

+0

@u_mulder Dank, dass mein Problem :) lösen. – Francisco

Antwort

0

Möglicherweise müssen Sie das Token als Header-Wert und nicht als Nachrichtentext senden. Entfernen Sie zuerst '_token': token aus Daten. Dann:

$.ajax({ 
headers: { 
      'X-CSRF-TOKEN' : token 
     }, 
      method: 'POST',   
      url:'http://har***ine.com/public/testPost', 
      data:data, 
....