I have used this in my html part:
In script I have done:
$(document).ready(function() {
$(document).on('change','#user_id', function() {
try {
var user_id = $(this).val();
$('#balance_amount').val("Loading response...");
$.ajaxSetup({
beforeSend: function(xhr, type) {
if (!type.crossDomain) {
xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
}
},
});
$.ajax({
url: "{{ URL::to('/getEmpBalance')}}",
method: 'post',
data: {
'user_id' : user_id
},
success: function(result) {
console.log("Success "+result);
$('#balance_amount').val(result);
},
error: function(e, jqXHR, textStatus, errorThrown) {
// console.log("Error "+e);
// console.log(JSON.stringify(jqXHR));
console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
$('#transaction_description_editor').html(e);
}
});
//console.log(user_id);
} catch (e) {
// console.log(e);
// console.log(warning);
// console.log(text);
}
});
});
But after sending ajax post request it gives error and when I checked, I found
{message: "Method
App\Http\Controllers\AjaxController::getEmployeeBalance does not
exist.",…} exception: "BadMethodCallException" file:
"/home/studyn5/exp.studynextglobal.com/vendor/laravel/framework/src/Illuminate/Routing/Controller.php"
line: 68 message: "Method
App\Http\Controllers\AjaxController::getEmployeeBalance does not
exist." trace: [{function: "__call", class:
"Illuminate\Routing\Controller", type: "->"}, {,…}, {,…}, {,…},
{,…},…]
But it my ajax Controller I have mentioned this method
public function getEmployeeBalance(Request $request) {
$user_id = $request->user_id;
$exp_amount = DB::table('exp_amounts')
->where('user_id', $user_id)
->orderBy('created_at','desc')
->first();
if ($exp_amount === null) {
echo "0";
}
else {
$balance_amount = $exp_amount ->total_amount;
echo $balance_amount;
}
}