Trying to pass Laravel variable from controller e.g. campaigns to another file of jquery function for ajax call. Normally in php we able to show the data using campaigns->id. I wanted to pass to the function and ajax call to show on the chart.
index.php
<div id="colouredBarsChart" class="ct-chart"></div>
<canvas id="myAreaChart" height="60"></canvas>
<script src="{{ asset('js/create-charts.js') }}"></script>
create-charts.js
( function ( $ ) {
var charts = {
init: function () {
// -- Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
this.ajaxGetCampaignReportData();
},
ajaxGetCampaignReportData: function () {
// var urlPath = 'http://' + window.location.hostname + '/get-campaigns-chart-data';
var urlPath = '/engagements/{{campaign->id}}/get-campaigns-report-chart-data'; <------ ***Here***
var request = $.ajax( {
method: 'POST',
url: urlPath,
data: reference: campaign->score, <------------ ***Here***
dataType:"json",
} );
request.done( function ( response ) {
// console.log( response );
charts.createCompletedJobsChart( response );
});
},
/**
* Created the Completed Jobs Chart
*/
createCompletedJobsChart: function ( response ) {
}
};
charts.init();
} )( jQuery );
reference: '{{campaign->score}}'.jsfile; you can't use.bladesyntax ({{ }}) in a.jsfile.