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框架,您不需要很多钟声).

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 😃 https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: "./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...