javascript – 从AJAX或JQuery运行Python脚本

前端之家收集整理的这篇文章主要介绍了javascript – 从AJAX或JQuery运行Python脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们需要从 Javascript运行python脚本.我们必须将一个输入String作为参数传递给python脚本,并将python输出显示在我们的网页上.

这是Python代码,当我在我的linux框中运行这个代码时,这段代码可以正常工作:./sample.py 12345,给出输出12345和./sample.py将不会显示任何参数

#!/usr/bin/env python

import os
import sys

if len(sys.argv) > 1:
  output = sys.argv[1]
else:
  output = "no argument found"

print "Hello World!!!"
print output

如何从上述python中的ajax调用中访问“param”,并使用该值作为参数?

使用Javascript:

$.ajax({
        type: 'POST',url: "scripts/sample.py",data: {param: xyz},//passing some input here
        dataType: "text",success: function(response){
           output = response;
           alert(output);
        }
}).done(function(data){
    console.log(data);
    alert(data);
});

任何帮助将不胜感激.

编辑

正如我所建议的,我试图让我的代码使用CGI工作.

#!/Python34/python

# Import modules for CGI handling 
import cgi,cgitb

# Create instance of FieldStorage 
data= cgi.FieldStorage()

# Get data from fields
output = data["param"]

# This will print to stdout for testing
print("Hello World!!!")
print(output)

每当Ajax调用运行时,响应是:[object HTMLDivElement],当在Firebug中打开时,显示python脚本的全部文本.我在这里缺少什么?

解决方法

您的Ajax调用将是python脚本的Web请求(http),因此您的python脚本需要在端口上侦听此类请求并回复.

建议使用上述方法,在样本中使用简单的web server,或者您可以使用现有的例如Flask(或许多其他)的方法.

FYI – 为了您的简单任务,我不会推荐Django(它是一个庞大而沉重的Web框架,您不需要很多钟声).

猜你在找的Ajax相关文章