2016-05-19 5 views
0

Laravel ajax возвращает 500 (Внутренняя ошибка сервера). Не могли бы вы рассказать мне, в чем проблема?Laravel ajax возвращает 500 (Внутренняя ошибка сервера)

sample.brade.php

<script type="text/javascript"> 
$("input.dog_check").click(function(){ 
    var amount = 10000; 
    var dataString = 'amount='+amount; 
    console.log(dataString); 
    $.ajax({ 
    type:'POST', 
    data:dataString, 
    url: 'save_temporary_data', 
    success:function(data) { 
     alert(data); 
    } 
    }); 
}); 
</script> 

routes.php

Route::post('/save_temporary_data', '[email protected]'); 

PaymentsController.php

~~~ 
public function saveTemporaryData(){ 
    if (Request::ajax()){ 
     $amount = $_POST['amount']; 
     $insert = "insert into temporary_data values('$amount')";// Do Your Insert Query 
     if(mysql_query($insert)) { 
     echo "Success"; 
     } else { 
     echo "Cannot Insert"; 
     } 
    } 
} 
~~~ 

обновление
Я добавил <meta name="csrf-token" content="{{ csrf_token() }}"> и следующее в sample.blade.php. Однако он не может решить проблему.

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

sample.blade.php

<head> 
    <link rel="stylesheet" href="/css/header.css"> 
    <link rel="stylesheet" href="/css/common.css"> 
    <link rel="stylesheet" href="/css/reset.css"> 
    <link rel="stylesheet" href="/css/edit_profile.css"> 
    <link rel="stylesheet" href="/css/footer.css"> 
    <link rel="stylesheet" href="/css/host_profile.css"> 
    <link rel="stylesheet" href="/css/validationEngine.jquery.css"> 
    <meta name="csrf-token" content="{{ csrf_token() }}"> 
</head> 

~~~ 

$("input.dog_check").click(function(){ 
    var amount = 10000; 
    var dataString = 'amount='+amount; 
    console.log(dataString); 
    $.ajaxSetup({ 
      headers: { 
       'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
      } 
    }); 
    $.ajax({ 
    type:'POST', 
    data:dataString, 
    url: 'save_temporary_data', 
    success:function(data) { 
     alert(data); 
    } 
    }); 
}); 
+0

можно дублировать [http://stackoverflow.com/questions/30154489/ajax-post -в-Laravel-5-возвратная ошибка-500-внутренний сервер ошибка? RQ = 1] (http://stackoverflow.com/questions/30154489/ajax-post-in-laravel-5-return-error- 500-internal-server-error? Rq = 1) – theinarasu

+1

Посмотрите в '/ stor age/logs', чтобы узнать, какая ошибка произошла, и разместите ее здесь. Кроме того, если вы используете Laravel, почему бы не использовать redoquent или querybuilder? – Jerodev

+0

Да, проверьте, что вы регистрируетесь, так как вы сразу же –

ответ

1

Без ошибки никто ничего не может сделать Вы можете проверить свои журналы вручную. в/хранилище/журналы. Но если вы хотите увидеть ошибку «на сайте», сделайте следующее. Прежде чем отправлять открытую консоль разработчика и перейти на вкладку «Сеть». отправьте запрос ajax. И вы получите красный запрос на сетевой вкладке. Нажмите на нее, и с правой стороны появится вкладка предварительного просмотра. На вкладке предварительного просмотра будет сообщение в формате laravel. Надеется, что это помогает с отладкой

0
<meta name="csrf-token" content="{{ csrf_token() }}" /> 
<script> 
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content'); 
jQuery.ajax({ 
      type:'POST', 
      url :"{{url('save_temporary_data')}}", 
      data:{_token: CSRF_TOKEN,amount:amount}, 
      success:function(data){ 
       alert(data); 
      } 
     }); 
</script> 

в маршрутном файле

Route::post('/save_temporary_data','[email protected]'); 

в контроллере

public function saveTemporaryData(Request $request){ 
    echo $request['amount']; 
} 
Смежные вопросы