I am trying to do a mysql query when clicking a button on my application without refreshing the page. I am getting a 502 bad gateway log on my chrome browser when I hit my "More Info" button.
Note: Some of the code below is used from a youtube video by Michael Cheng.
The code I have:
staticPricing.js
$(function() {
// GET/READ info FROM server
$('#getInfoMats-button').on('click', function () {
// ajax GET request
$.ajax({
url: '/materials',
contentType: 'application/json',
success: function (response) {
console.log(response);
var tbodyEl = $('#tbodytest');
tbodyEl.html('');
response.result.forEach(function (result) {
tbodyEl.append('\
\' + result.PricePerSheetORFt + ' \\');
});
}
});
});
pricingTable.js
// sql handler
exports.sqlGetMaterialPricing = "SELECT PricePerSheetORFt FROM genericname.info_pricing WHERE 'Key' = ?;";
exports.getMaterial = function(req, res) {
var weErrored = false;
var post = {
PricePerSheetORFt: req.body.PricePerSheetORFt
};
mySqlController.connection.query(exports.sqlGetMaterialPricing, post, '1',
function(err, result, fields){
if (err) {
console.log(err.code);
weErrored = true; // setting the error to true, this is used to display a message on the front end
}
res.send(JSON.stringify(result));
});
}
Route
var pricingTable = require('../controllers/pricingTable');
app.get('/materials', pricingTable.getMaterial);
and
pricingTable.hbs
{{#each data}}
{{this.IGNORE}}{{this.IGNORE}}{{this.IGNORE}}More Info
PricePerSheetORFt: {{this.PricePerSheetORFt}}
{{/each}}
Please don't mind the this.IGNORE, I changed it for this question.