2015-08-07 3 views
1

Я пытаюсь повторить введенные значения формы с помощью jQuery, но получаю POST http://localhost:8000/settings/generalsettings/changedata 500 (Internal Server Error) ошибка при нажатии кнопки submit. Я использую Laravel 5.1.Laravel 5.1: CSRF защита и эхо переданные значения формы

Что не хватает в моем коде?

Вот мой routes.php

Route::post('settings/generalsettings/changedata', '[email protected]'); 

UserSettingsController.php

namespace App\Http\Controllers; 

use App\User; 
use App\Http\Controllers\Controller; 

class UserSettingsController extends Controller 
{ 

     public function changeData() 
    { 
     $variable = Input::post('name99'); 

     print_r($variable); 
    } 
} 

generalSettings.blade.php

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
    <meta charset="utf-8"> 
    <link rel="stylesheet" href=""/> 
     <meta name="csrf-token" content="{{ csrf_token() }}"> 
</head> 
<body> 
    <input id="name" type="text" placeholder="Enter your name"> 
    <input type="submit" id="sub"> 
    <div id="result"></div> 
    <script src="/js/jquery-2.1.4.js"></script> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      // set up jQuery with the CSRF token, or else post routes will fail 
      $.ajaxSetup({ 
       headers: { 
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 
       } 
      });   // handlers 
      $("#sub").click(function (y) { 
       y.preventDefault(); 
       var user_name = $('#name').val(); 
       $.post(
         "/settings/generalsettings/changedata", 
         { 
          name99: user_name 
         }, 
         function (data) { 
          $('#result').hide().html(data).fadeIn(2000); 
         }); 
      }); 
     }); 
    </script> 
</body> 
</html> 

ответ

0

Я добавил use Input в верхней части моего UserSettingsController класса и проблема решена.

0

Добавить use Input в верхней части файла контроллера

Попробуйте использовать get вместо post для получения данных ajax в контроллере.

$variable = Input::get('name99'); 
+0

Это не сработало, но спасибо. Я изменил его, чтобы получить. – salep

Смежные вопросы