javascript - Returning value from async function in NodeJS -
i'm trying query data in json serverside code running on node.js
here clientside ajax request:
$(function() { var values = $(this).serialize(); $.ajax({ url: '/querysearch', type: 'post', data: values, success: function(msg){ console.log(msg); }, error: function(){ alert('failure'); } }); });
my serserside code:
app.post('/querysearch', function(req, res) { var querynumber = number(req.body.querynumber); if (querynumber == 1){ executequery1(res, sendqueryresults); } else if (querynumber == 4){ executequery4(res, sendqueryresults); } else if (querynumber == 6){ executequery6(res, sendqueryresults); } else if (querynumber == 7){ executequery7(res, sendqueryresults); } }); function executequery1(res, callback) { var query = "" + 'query string'; service.oneshotsearch(query, {}, function(err, results) { if (err) { console.log(err); alert("an error occurred search"); return; } callback(res, results); }); }); } function sendqueryresults(res, results) { res.json(json.stringify(results)); res.end(); }
however, @ moment, webpage won't finish loading. doing wrong?
you need call res.end() after have written data in.
Comments
Post a Comment