Хорошо, ребята, я в тупике на этом. Я представляю форму, используя jQuery/Ajax для моего контроллера Laravel 5 (Маршрутизация работает отлично, без проблем). Контроллер возвращает именно то, что я ожидаю, за исключением данных из формы.Контроллер Laravel 5 не получит данные из формы ajax
Вот несколько кодов.
Форма:
<form action="/candidateajax/add/" enctype="multipart/form-data" method="post" accept-charset="utf-8" name="candidate" id="addcand">
<input type="hidden" id="token" name="_token" value="{{ csrf_token() }}">
<div>
Name
{!! Form::text('first_name', null, array('placeholder'=>'First Name')) !!}
{!! Form::text('last_name', null, array('placeholder'=>'Last Name')) !!}
</div>
<div id="candimages">
Image
{!! Form::file('image', null) !!}
</div>
<div>
Bio<br/>
{!! Form::textarea('bio', null, array('placeholder'=>'Bio Text')) !!}
</div>
<div>
Q&A<br/>
{!! Form::textarea('qa', null, array('placeholder'=>'Q&A Text')) !!}
</div>
<div>
Additional Info<br/>
{!! Form::textarea('html', null, array('placeholder'=>'Additional Info Text')) !!}
</div>
<div>
Party
{!! Form::select('party', $parties) !!}
</div>
<div>
<!--<button type="button" id="addcandbtn">Add Candidate</button>-->
<button type="submit" id="addcandbtn">Add Candidate</button>
</div>
</form>
<div>
Party
{!! Form::select('party', $parties) !!}
</div>
<div>
<!--<button type="button" id="addcandbtn">Add Candidate</button>-->
<button type="submit" id="addcandbtn">Add Candidate</button>
</div>
</form>
Javascript/JQuery:
$("#addcand").on('submit', function(e){
var dataser = $("#addcand").serialize();
console.log(dataser); // Proves that the serialized form has data
e.preventDefault();
$.ajax({
url: '/candidateajax/add/',
data: dataser,
type:'POST',
cache:false,
dataType: 'json',
enctype:'multipart/form-data',
success:function(response){
console.log(response);
},
error: function(jqXHR, textStatus, errorThrown){
console.log(jqXHR.responseText);
}
});
});
Laravel Контроллер:
public function createCandidateAjax(Request $request)
{
$input = Input::all();
return response()->json($input);
}
Я три ed возвращал и vardumping как $ input, так и $ request. Они оба пустуют.
Любая помощь будет высоко оценена. Благодаря!!
Произвольные ошибки? И какая именно версия Laravel ... 5.0, 5.1, 5.2? – camelCase
Вы проверили свой файл маршрутов? проверьте, правильно ли отправлен запрос на контроллер, а также проверьте сообщение об ошибке, которое вы получаете. –
Я думаю, вы должны удалить действие из своей формы, потому что в вашей форме есть кнопка, которая вводит тип, и, следовательно, ваша форма отправляет данные непосредственно вместо вызова ajax. –