Am fairly new to Laravel and Ajax so you'll forgive me if am making a stupid mistake. Am trying to return a response from a controller, it works when i do all the logic in the routes file, but when i copied the code to my controller it doesnt work.
Heres my route
Route::post('student', 'StudentPDetailsController@store');
and the js file, called custom.js
(function($){
$(document).ready(function(){
$('#saveDetails').click(function(e){
e.preventDefault();
var dataString = {'studentphonenumber':$('#sphonenumber').val(),
'studentidnumber':$('#sidpp').val(),
'studentgender':$('#sgender').val(),
'studentbirthdate':$('#datepicker').val(),
'_token':$('#token').val()
}
$.ajax({
type: 'POST',
url: 'student',
data: dataString,
success: function(data){
console.log(data);
alert('Your personal details have been updated')
}
});
});
});
})(jQuery);
Heres the blade template:
<div class="panel panel-default panelshadow">
<div class="panel-heading"><h3 class="headinpanel">Personal Details</h3></div>
<div class="panel-body">
<form class="form-horizontal" id="studentPersonalDetails" role="form" method="POST" action="#">
<input type="hidden" id="token" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<label class="col-md-4 control-label">Phone Number</label>
<div class="col-md-6">
<input type="text" class="form-control" id="sphonenumber" name="phone" value="{{ old('phone') }}">
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">National ID/Passport</label>
<div class="col-md-6">
<input type="text" class="form-control" id="sidpp" name="idnumber" value="{{ old('idnumber') }}">
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">Gender</label>
<div class="col-md-6">
<select name="gender" id="sgender" class="form-control">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-md-4 control-label">Date of Birth</label>
<div class="col-md-6">
<input type="text" id="datepicker" class="form-control"/>
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary saveBtn" id="saveDetails">
<h4>Save Details</h4>
</button>
</div>
</div>
</form>
</div>
</div>
and finally StudentPDetailsController
public function store()
{
if(Request::ajax()){
return Response::json(Request::all());
}
}