我试图从我的JavaScript代码调用Python中的函数.我使用了here解释的代码,但它对我不起作用.
这是我的JS代码:
text ="xx";
$.ajax({
type: "POST",
url: "~/reverse_pca.py",
data: { param: text}
}).done(function(o) {
console.log(data);
console.log(text);
});
Python代码:
import csv
from numpy import genfromtxt
from numpy import matrix
def main():
...
return x
if __name__ == "__main__":
x=main()
return x;
你知道它有什么问题吗?
解决方法:
除了提到的要点之外,假设您已经有适当的设置来提供python脚本并返回响应.你应该提交一个异步请求,特别是如果python代码做了一些繁重的计算.
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');
如果您只进行一些轻量级计算,并且在使用jQuery 1.8之后弃用的代码时没有问题,那么请使用同步方法.建议不要这样做,因为它会阻止主线程.
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);
标签:javascript,python
来源: https://codeday.me/bug/20190926/1822228.html