Apart from the mentioned points and assuming you already have a proper setup to serve your python script and return the response. You should submit an asynchronous request, especially if the python code does some heavy computation.
function postData(input) { $.ajax({ type: "POST", url: "/reverse_pca.py", data: { param: input }, success: callbackFunc }); } function callbackFunc(response) { // do something with the response console.log(response); } postData('data to process');
If you only do some light computation and you have no problem working with a code deprecated as of jQuery 1.8, go with the synchronous approach. This is not recommended as it blocks the main thread.
function runPyScript(input){ var jqXHR = $.ajax({ type: "POST", url: "/reverse_pca.py", async: false, data: { param: input } }); return jqXHR.responseText; } // do something with the response response= runPyScript('data to process'); console.log(response);
Read more about it here: How do I return the response from an asynchronous call? and http://api.jquery.com/jquery.ajax/