Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Я набираю domen.com/register
и открывается шаблон формы регистрации в то время как роута/register нет
Объясните пожалуйста как это работает?
Все решено спасибо Алексею
Да спасибо большое за искренное желание помочь и за усидчивость но я выполнил как вы сказали и все равно
TokenMismatchException in VerifyCsrfToken.php line 68:
Может дело действительно в том что есть еще и XSRF-Token если можно свяжитесь по скайпу может нагляднее получится помочь, весьма благодарен за помощь СКАЙП imediasun Очень насущная проблема
Вот адрес проекта http://industry.imedia.in.ua/admin/add_good
Вот роут
Route::post('/functions_images', 'FunctionsController@index');
Вот Контроллер
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FunctionsController extends Controller
{
//
public function __construct(){
$this->middleware('guest');
}
public function index(Request $request){
if ($request->ajax()) {
dump($request->input());
}
}
}
Вот VerifyCsrfToken.php
<?php
namespace App\Http\Middleware ;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
use Closure;
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
"industry.loc/admin/add_good"
];
public function handle($request, Closure $next){
return parent::handle($request, $next);
}
/**
* Determine if the session and input CSRF tokens match.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function tokensMatch($request)
{
// If request is an ajax request, then check to see if token matches token provider in
// the header. This way, we can use CSRF protection in ajax requests also.
$token = $request->ajax() ? $request->header('X-CSRF-Token') : $request->input('_token');
return $request->session()->token() == $token;
}
}
Вот мой файл вида это многоуровневая форма потому текста много,
но проблема возникает до сабмита формы, когда на одном из уровней
я пытаюсь загрузить фотографию через
jquery.fileupload
<div class="boxed">
<!--CONTENT CONTAINER-->
<!--===================================================-->
<div id="content-container">
<!--Page Title-->
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<div class="pageheader">
<h3><i class="fa fa-home"></i> Forms Wizard </h3>
<div class="breadcrumb-wrapper"> <span class="label">You are here:</span>
<ol class="breadcrumb">
<li> <a href="#"> Home </a> </li>
<li class="active"> forms wizard </li>
</ol>
</div>
</div>
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<!--End page title-->
<!--Page content-->
<!--===================================================-->
<div id="page-content">
<div class="row">
<div class="col-md-12">
<section class="panel">
<div class="panel-heading">
<h3 class="panel-title"> Додати товар </h3>
</div>
<div class="panel-body">
<!-- START Form Wizard -->
<form class="form-horizontal form-bordered" action="#" id="wizard">
<!-- Wizard Container 1 -->
<div class="wizard-title"> Інформація о товарі </div>
<div class="wizard-container">
<div class="form-group">
<div class="col-md-12">
<h4 class="text-primary"> <i class="fa fa-sign-in"></i> Основна фнформація </h4>
<p class="text-muted"> Інформація яка вноситься до бази данних </p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> Назва товару : </label>
<div class="col-sm-6">
<input class="form-control" name="name" type="text" placeholder="Введить назву" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> Артикул : </label>
<div class="col-sm-6">
<input class="form-control" name="artikul" type="text" placeholder="Введить артикул" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> Категорія : </label>
<div class="col-sm-6">
<select class="form-control" name="category" placeholder="Виберить категорію" />
<option>123</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> Тип : </label>
<div class="col-sm-6">
<select class="form-control" name="type" placeholder="Виберить тип товару" />
<option>123</option>
</select>
</div>
</div>
<div class=" form-group ">
<label class="col-sm-2 control-label"> Ціна : </label>
<div class="col-sm-6 input-group mar-btm">
<span class="input-group-addon"><i class="fa fa-dollar fa-lg"></i></span>
<input class="form-control" type="text">
<span class="input-group-addon">.00</span>
</div>
</div>
</div>
<!--/ Wizard Container 1 -->
<!-- Wizard Container 2 -->
<div class="wizard-title"> Опис характеристика товару </div>
<div class="wizard-container">
<div class="form-group">
<div class="col-md-12">
<h4 class="semibold text-primary"> <i class="fa fa-user"></i> Опис товару </h4>
<p class="text-muted"> Характеристика </p>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-6">
<label>Опис товару: <span class="text-danger">*</span> </label>
<textarea name="editor1"></textarea>
<script>
CKEDITOR.replace( 'editor1' );
</script>
</div>
</div>
</div>
</div>
<!--/ Wizard Container 2 -->
<!-- Wizard Container 3 -->
<div class="wizard-title"> Фото товару </div>
<div class="wizard-container">
<div id="appl_window">
<div id="close_window" class="del_prod_btn"></div>
<div id="add_photo">
<br>
<h6>Выберите
<?
$count_images=5;
$image_width=1200;
$image_height=800;
$image_type='logo';
$image_index=1;
echo $count_images;
if($count_images==1){
echo "фотографию";
}
else if($count_images>1 && $count_images<5){
echo "фотографии";
}
else if($count_images>4){
echo "фотографий";
}
?>
(не более 2М)
<?=$image_width?>х<?=$image_height?>px -
<?if($image_type=='logo'){
echo "логотип данного производителя";
}
else if($image_type=='door'){
echo "фотографии выбранной двери";
}
else if($image_type=='material' or $image_type=='material_edit'){
echo "фотографии материала";
}
?>
</h6>
<label>Фотография*<span> Чтобы добавить картинку, нажми обзор или просто перетащи в желтую область ниже ⇓<hr></span></label>
<br>
<input type="file" name="my-pic[]" id="file-field3" class="image" multiple="multiple"/>
<a id="cancel-all3">Отменить все</a>
<div id="img-container3">
<ul id="img-list3"></ul>
</div>
<div id="leftpanel">
<div id="actions">
<input type="hidden" name="lwidth" value="<?=$image_width?>">
<input type="hidden" name="lheight" value="<?=$image_height?>">
<input type="hidden" name="lproducers" value="/upload">
<input type="hidden" name="ltype" value="<?=$image_type?>">
<span id="info-count">Изображений не выбрано</span><br/>
Общий размер:<span id="info-size">0</span> Кб<br/><br/>
</div>
<div id="console3"></div>
<div class="apply_btn"></div>
</div>
</div>
</div>
<!------------------------------------------------------------------------------------------------------------------>
<!---НАЧАЛАСЬ ЗАГРУЗКА ФОТОГРАФИЙ-------------------->
<!------------------------------------------------------------------------------------------------------------------>
<script>
$(document).ready(function() {
// Консоль
var $console = $("#console3");
// Инфа о выбранных файлах
var countInfo = $("#info-count");
var sizeInfo = $("#info-size");
// ul-список, содержащий миниатюрки выбранных файлов
var imgList = $('#img-list3');
// Контейнер, куда можно помещать файлы методом drag and drop
var dropBox = $('#img-container3');
// Счетчик всех выбранных файлов и их размера
var imgCount = 0;
var imgSize = 0;
// Стандарный input для файлов
var fileInput = $('#file-field3');
// Тестовый canvas
/* var canvas = document.getElementById('canvas');
var ctx = canvas.getContext("2d");
ctx.fillStyle = "rgb(128,128,128)";
ctx.fillRect (0, 0, 150, 150);
ctx.fillStyle = "rgb(200,0,0)";
ctx.fillRect (10, 10, 55, 50);
ctx.fillStyle = "rgba(0, 0, 200, 0.5)";
ctx.fillRect (30, 30, 55, 50); */
////////////////////////////////////////////////////////////////////////////
// Подключаем и настраиваем плагин загрузки
fileInput.damnUploader({
// куда отправлять
url: '/functions_images',
// имитация имени поля с файлом (будет ключом в $_FILES, если используется PHP)
fieldName: 'my-pic',
// дополнительно: элемент, на который можно перетащить файлы (либо объект jQuery, либо селектор)
dropBox: dropBox,
// максимальное кол-во выбранных файлов (если не указано - без ограничений)
limit: <?echo $count_images?>,
// когда максимальное кол-во достигнуто (вызывается при каждой попытке добавить еще файлы)
onLimitExceeded: function() {
log('Допустимое кол-во файлов уже выбрано');
},
// ручная обработка события выбора файла (в случае, если выбрано несколько, будет вызвано для каждого)
// если обработчик возвращает true, файлы добавляются в очередь автоматически
onSelect: function(file) {
addFileToQueue(file);
return false;
},
// когда все загружены
onAllComplete: function() {
log('<span style="color: blue;">*** Все загрузки завершены! ***</span>');
imgCount = 0;
imgSize = 0;
updateInfo();
}
});
////////////////////////////////////////////////////////////////////////////
// Вспомогательные функции
// Вывод в консоль
function log(str) {
$('<p/>').html(str).prependTo($console);
}
// Вывод инфы о выбранных
function updateInfo() {
countInfo.text( (imgCount == 0) ? 'Изображений не выбрано' : ('Изображений выбрано: '+imgCount));
sizeInfo.text( (imgSize == 0) ? '-' : Math.round(imgSize / 1024));
}
// Обновление progress bar'а
function updateProgress(bar, value) {
var width = bar.width();
var bgrValue = -width + (value * (width / 100));
bar.attr('rel', value).css('background-position', bgrValue+'px center').text(value+'%');
}
// преобразование формата dataURI в Blob-данные
function dataURItoBlob(dataURI) {
var BlobBuilder = (window.MSBlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window.BlobBuilder);
if (!BlobBuilder) {
return false;
}
// convert base64 to raw binary data held in a string
// doesn't handle URLEncoded DataURIs
var pieces = dataURI.split(',');
var byteString = (pieces[0].indexOf('base64') >= 0) ? atob(pieces[1]) : unescape(pieces[1]);
// separate out the mime component
var mimeString = pieces[0].split(':')[1].split(';')[0];
// write the bytes of the string to an ArrayBuffer
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var z = 0; z < byteString.length;z++) {
ia[z] = byteString.charCodeAt(i);
}
// write the ArrayBuffer to a blob, and you're done
var bb = new BlobBuilder();
bb.append(ab);
return bb.getBlob(mimeString);
}
// Отображение выбраных файлов, создание миниатюр и ручное добавление в очередь загрузки.
function addFileToQueue(file) {
// Создаем элемент li и помещаем в него название, миниатюру и progress bar
var li = $('<li/>').appendTo(imgList);
/* var title = $('<div/>').text(file.name+' ').appendTo(li); */
var cancelButton = $('<a/>').attr({
href: '#cancel',
title: 'отменить'
}).html('<img height="15" width="15" alt="X" src="/img/deleteIcon.png">').appendTo(/* title */li);
// Если браузер поддерживает выбор файлов (иначе передается специальный параметр fake,
// обозночающий, что переданный параметр на самом деле лишь имитация настоящего File)
if(!file.fake) {
// Отсеиваем не картинки
var imageType = /video.*/;
var imageType2 = /image.*/;
if (!file.type.match(imageType) && !file.type.match(imageType2)) {
log('Файл отсеян: `'+file.name+'` (тип '+file.type+')');
return true;
}
// Добавляем картинку и прогрессбар в текущий элемент списка
var div = $('<div/>').addClass('photo_frame').attr('rel', '0').appendTo(li);
var img = $('<img/>').appendTo(li);
/* var pBar = $('<div/>').addClass('progress').attr('rel', '0').text('0%').appendTo(li); */
// Создаем объект FileReader и по завершении чтения файла, отображаем миниатюру и обновляем
// инфу обо всех файлах (только в браузерах, подерживающих FileReader)
if($.support.fileReading) {
var reader = new FileReader();
reader.onload = (function(aImg) {
return function(e) {
aImg.attr('src', e.target.result);
aImg.attr('height', 100);
};
})(img);
reader.readAsDataURL(file);
}
log('Картинка добавлена: `'+file.name + '` (' +Math.round(file.size / 1024) + ' Кб)');
imgSize += file.size;
} else {
log('Файл добавлен: '+file.name);
}
imgCount++;
updateInfo();
// Создаем объект загрузки
var uploadItem = {
file: file,
/* onProgress: function(percents) {
updateProgress(pBar, percents);
}, */
onComplete: function(successfully, data, errorCode) {
if(successfully) {
log('Файл `'+this.file.name+'` загружен, полученные данные:<br/>*****<br/>'+data+'<br/>*****');
} else{
if(!this.cancelled) {
log('<span style="color:red;">Файл `'+this.file.name+'`: ошибка при загрузке. Код: '+errorCode+'</span>');
}
}
}
};
// ... и помещаем его в очередь
var queueId = fileInput.damnUploader('addItem', uploadItem);
// обработчик нажатия ссылки "отмена"
cancelButton.click(function() {
fileInput.damnUploader('cancel', queueId);
li.remove();
imgCount--;
imgSize -= file.fake ? 0 : file.size;
updateInfo();
log(file.name+' удален из очереди');
return false;
});
return uploadItem;
}
////////////////////////////////////////////////////////////////////////////
// Обработчики событий
// Обработка событий drag and drop при перетаскивании файлов на элемент dropBox
dropBox.bind({
dragenter: function() {
$(this).addClass('highlighted');
return false;
},
dragover: function() {
return false;
},
dragleave: function() {
$(this).removeClass('highlighted');
return false;
}
});
// Обаботка события нажатия на кнопку "Загрузить все".
// стартуем все загрузки
$(".apply_btn").click(function() {
fileInput.damnUploader('startUpload');
});
// Обработка события нажатия на кнопку "Отменить все"
$("#cancel-all3").click(function(){
fileInput.damnUploader('cancelAll');
imgCount = 0;
imgSize = 0;
updateInfo();
log('*** Все загрузки отменены ***');
imgList.empty();
});
// Обработка нажатия на тестовую канву
/* $(canvas).click(function() {
var blobData;
if (canvas.toBlob) {
// ожидается, что вскоре браузерами будет поддерживаться метод toBlob() для объектов Canvas
blobData = canvas.toBlob();
} else {
// ... а пока - конвертируем вручную из dataURI
blobData = dataURItoBlob(canvas.toDataURL('image/png'));
}
if (blobData === false) {
log("Ваш браузер не поддерживает BlobBuilder");
return ;
}
addFileToQueue(blobData)
}); */
////////////////////////////////////////////////////////////////////////////
// Проверка поддержки File API, FormData и FileReader
if(!$.support.fileSelecting) {
log('Ваш браузер не поддерживает выбор файлов (загрузка будет осуществлена обычной отправкой формы)');
$("#dropBox-label").text('если бы ты использовал хороший браузер, файлы можно было бы перетаскивать прямо в область ниже!');
} else {
if(!$.support.fileReading) {
log('* Ваш браузер не умеет читать содержимое файлов (миниатюрки не будут показаны)');
}
if(!$.support.uploadControl) {
log('* Ваш браузер не умеет следить за процессом загрузки (progressbar не работает)');
}
if(!$.support.fileSending) {
log('* Ваш браузер не поддерживает объект FormData (отправка с ручной формировкой запроса)');
}
log('Выбор файлов поддерживается');
}
log('*** Проверка поддержки ***');
});
</script>
<!------------------------------------------------------------------------------------------------------------------>
<!---ЗАКОНЧИЛАСЬ ЗАГРУЗКА ФОТОГРАФИЙ-------------------->
<!------------------------------------------------------------------------------------------------------------------>
</div>
<!--/ Wizard Container 3 -->
<!-- Wizard Container 4 -->
<div class="wizard-title"> Відео товару </div>
<div class="wizard-container">
<div class="form-group">
<div class="col-md-12">
<h4 class="semibold text-primary"> <i class="fa fa-cog"></i> Work experience </h4>
<p class="text-muted"> Let us know about your work experience </p>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-6">
<label>Company: </label>
<input type="text" name="Work experience" class="form-control" placeholder="Work experience" />
</div>
<div class="col-md-6">
<label> Country: </label>
<input type="text" name="Country" class="form-control" placeholder="Choose a Country" />
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-6">
<label> Position: </label>
<input type="text" name="Your Position" class="form-control" placeholder="Your Position" />
</div>
<div class="col-md-3">
<label> From: </label>
<div class="row">
<div class="col-sm-8">
<select name="month" class="form-control">
<option value="">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</div>
<div class="col-sm-4">
<input type="text" name="University-Country" class="form-control" placeholder="Year" />
</div>
</div>
</div>
<div class="col-md-3">
<label> To: </label>
<div class="row">
<div class="col-sm-8">
<select name="month" class="form-control">
<option value="">Month</option>
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>
</div>
<div class="col-sm-4">
<input type="text" name="University-Country" class="form-control" placeholder="Year" />
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Wizard Container 4 -->
</form>
<!--/ END Form Wizard -->
</div>
</section>
</div>
</div>
</div>
<!--===================================================-->
<!--End page content-->
</div>
<!--===================================================-->
<!--END CONTENT CONTAINER-->
</div>
Как варианта можно не мучаться с заголовком а добавить гет-параметр к урл с токеном.
Привидите пример пожалуйста
Отключи проверку на CSRF. Это будет еще проще
Да в этом случае я отключил и работает, а что делать в случае с фотографией?
TokenMismatchException in VerifyCsrfToken.php line 68:
Здесь http://boomer.imedia.in.ua прописан токен через $.ajaxSetup
но работает только после повторного нажатия на кнопку register срабатывает, тогда появляется токен в адресной строке, почему? попробуйте
хотя в куках тоже присутствует XSRF-TOKEN http://prntscr.com/ea9zrh
как и в том варианте с фотографией, тут я записал следующим образом
VerifyCsrfToken.php
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
use Closure;
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
// говорят вот тут необходимо адресс url указывать но я пробывал тот же эффект что и не указывать
];
public function handle($request, Closure $next){
return parent::handle($request, $next);
}
/**
* Determine if the session and input CSRF tokens match.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function tokensMatch($request)
{
// If request is an ajax request, then check to see if token matches token provider in
// the header. This way, we can use CSRF protection in ajax requests also.
$token = $request->ajax() ? $request->header('X-CSRF-Token') : $request->input('_token');
return $request->session()->token() == $token;
}
}
Как варианта можно не мучаться с заголовком а добавить гет-параметр к урл с токеном.
Напишите пожалуйста как это должно выглядеть?
текст ошибки после отправки картинки http://prntscr.com/e9vhgo
загаловки http://prntscr.com/e9vha6
сессия до отправки http://prntscr.com/e9vhrc
сессия после отправки картинки
Я не могу решить эту проблему что тут можно еще просмотреть, может кто то может вызватьс реально помочь,
при отправке изображения меняется Ларавель сессия во вкладке Network вродебы токен прописан , как таковой формы нет там яваскрипт код отправляет изображение, помогите пожалуйста реально если кто то сталкивался или разбирается хорошо
Вот такая вот ошибка при чем вот мои данные, как ее победить?
токен
<meta name="csrf-token" content="{{ csrf_token() }}" />
<input type="hidden" name="_token" value="{{ csrf_token() }}">
$.ajaxSetup({
headers:{
'X-CSRF-TOKEN':$('meta[name="csrf-token"]').attr('content')
}
})
VerifyCsrfToken.php
<?php
namespace App\Http\Middleware ;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
use Closure;
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
//
];
public function handle($request, Closure $next){
return parent::handle($request, $next);
}
/**
* Determine if the session and input CSRF tokens match.
*
* @param \Illuminate\Http\Request $request
* @return bool
*/
protected function tokensMatch($request)
{
// If request is an ajax request, then check to see if token matches token provider in
// the header. This way, we can use CSRF protection in ajax requests also.
$token = $request->ajax() ? $request->header('X-CSRF-Token') : $request->input('_token');
return $request->session()->token() == $token;
}
}
Роут
Route::post('/functions_images', 'FunctionsController@index');
Контроллер
class FunctionsController extends Controller
{
//
public function __construct(){
$this->middleware('guest');
}
public function index(Request $request){
if ($request->ajax()) {
dump($request->input());
$array=$request->input();
var_dump($array);
}
}
}
<input type="hidden" name="_token" id="_token" value="{!! $csrf_token !!}}" />
<script type="text/javascript">
$.ajaxSetup({
headers: {
'X-CSRF-Token': $('#_token').val()
}
});
</script>
Объясните пожалуйста что нужно сделать толком
<input type="hidden" name="_token" id="_token" value="{!! $csrf_token !!}}" />
<script type="text/javascript">
$.ajaxSetup({
headers: {
$('#_token').val()
}
});
</script>
Я вот так написал в head секции сайта
роут у меня такой
Route::post('/functions_images', 'FunctionController@index');
вот контроллер
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Request;
class FunctionsController extends Controller
{
//
public function index($request){
dump($request);
}
}
Ошибка 500 все еще есть код выглядит так
Этот код на странице с аякс запросом
<input type="hidden" id="_token" name="_token" value="This {{Action}} has wrong syntax and can’t be executed.">
<script type="text/javascript">
$.ajaxSetup({
headers: {
’X-CSRF-TOKEN’: $(’meta[name="csrf-token"]’).attr(’content’)
}
});
</script>
Ну естественно сам запрос
Роут
Route::post(’/MainController/ajax_usersessions’, ’MainController@ajax_usersessions’);
И контроллер
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use Input;
use DB;
use App\Specialization;
class MainController extends Controller
{
public function ajax_usersessions(Request $request)
{
if ($request->ajax()) {
print(’123’);
}
}
}
!!
Почему возникает 500 ошибка?
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url: "/AjaxController",
data: { name: "John", location: "Boston" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
да ошибка остается 100% контроллер но каким он должен быть в моем случае кто скажет?
У меня пост запрос НЕ могу все таки понять как должен в моем случае выглядеть контроллер у вас все таки другой случай, если кто может помочь напишите пожалуйста
На данный момен ошибка 500
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Model;
use App\Http\Controllers\Controller;
use Illuminate\Http\Response;
class AjaxController extends Controller
{
public function index(Request $request){
if ($request->ajax()) {
print('123');
}
}
}
да не так как вы представили, но там нет контроллера в этой статье и я понять не могу
Мне бы практически эту задачу решить, помогите пожалуйста я только на практике усваиваю такие вещи, а регистрацию я уже сделал
Здесь видать в контроллере неправильно что то может Input какой нужен, как в контроллере ПОСТ принимается? Или Request я не правильно написал, просто напишите как бы вы написали контроллер в который пост приходит, роуты рабочие это я проверил
да маршрут, я все проделал до аякса дошел, нет опыта у меня в php много но тут контроллер не принимает видимо свой реквест у него потому и спрашиваю чтобы меня поправили а маршруты видно правильно выставлены. Просто я уже на реальной задаче тренируюсь
напишите пожалуйста опыта в Ларавеле вообще нет
тутвот этот роут прошел
Route::post('/AjaxController', function()
{
return 'Success! ajax in laravel 5';
});
Но при этом контроллере 500 ошибка
class AjaxController extends Controller
{
public function index(Request $request){
print_r($request);
}
}
и при этом роуте
Route::post('/AjaxController', 'AjaxController@index');
Скажите я получаю 500error
php artisan route:list
POST | ajaxController | | App\Http\Controllers\AjaxController@index | web
Route почему то в файле routes/web.php
Route::post('/ajaxController', 'AjaxController@index');
контроллер
class AjaxController extends Controller
{
public function index(){
print_r($_POST);
} //
}