使用我的客户端,将参数传递到服务器上的python脚本,它运行一个进程并创建一个zip文件。在我的客户端JavaScript中,我的ajax调用只是告诉我它能够将数据传递给我的python脚本。
我尝试过sys.stdout.write(b"zipfilename")
,但是什么也没有发生。如果我无法将文件传回,是否有办法将某些东西传回,以便我的JavaScript知道已完成?我没有使用NODE或Angular。我的python脚本确实运行并在服务器上创建了zip文件,但是JavaScript页面不知道它,也没有出现下载对话框。我缺少一些基本的东西,但找不到。
我的JS AJAX调用:
$.ajax({ url: theUrl, type: 'get', success: function(response){ } });
我的python脚本的结尾:
def createZip(v, charset=None):
with ZipFile(v +'.zip', 'w') as myzip:
myzip.write(v +'.shp')
myzip.write(v +'.shx')
myzip.write(v +'.dbf')
myzip.write(v +'.prj')
return 'c:/dev/python/'+ v + '.zip'
createZip(fn)
答案 0 :(得分:2)
根据所提供的有限代码很难区分,但是这里有一些要点:
sys.stdout.write
将写入运行Python脚本的应用程序的输出,而不是HTTP响应(除非它作为WSGI应用程序运行)。download
属性)时,下载提示才会出现。