Call python function from JS

后端 未结 2 799
梦如初夏
梦如初夏 2020-11-30 02:05

I am trying to call a function in Python from my JavaScript code. I used the code explained here but it does not work for me.

Here is my JS code:

&l         


        
2条回答
  •  清歌不尽
    2020-11-30 02:43

    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/

提交回复
热议问题