使用JQuery调用python脚本
Call python script with JQuery
能否有人请给出一个简短的代码示例,说明如何使用JQuery从Javascript调用python脚本并解析结果,这是一个python字典?
Python代码(script.py):def pythonFuntion():
dict = {"val1":"this is x", "val2":True}
return json.dumps(dict)
中级PHP (Intermediate . PHP):
<?php
exec("python script.py", $output);
echo $output;
?>
Javascript: <script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
$.ajax({
url: 'intermediate.php',
type: 'POST',
dataType: "json",
success: function(data){
alert(obj.val1);
}
});
</script>
你的PHP看起来不错。问题可能出在你的javascript代码中。obj变量未定义。必须提醒数据。obj.val1.
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
$.ajax({
url: 'intermediate.php',
type: 'POST',
dataType: "json",
success: function(data){
alert(data.val1);
}
});
</script>
将python文件更改为:
import json
def pythonFuntion():
dict = {"val1":"this is x", "val2":True};
return json.dumps(dict);
print( pythonFuntion() );
然后,在PHP;使用:
<?php
exec("python script.py", $output);
echo $output[0];
?>
和你的jQuery将工作。(刚刚在我的系统上测试过)
可能是成功函数出了问题,把obj改成data:
success: function(data){
alert(data.val1);
}
你不能在PHP中echo
一个数组,它只是打印"数组"(如你所注意到的)。您需要这样的代码来打印存储在数组中的每一行:
exec("python script.py", $output);
echo implode( "'n", $output );
此外,正如在注释中建立的那样,Python脚本必须实际输出您想要传递给PHP的内容,以便exec()
可以收集它。你不能使用return
从Python传递数据到PHP
相关文章:
- Meteor如何运行服务器端python脚本
- 如何让Meteor应用程序使用python脚本写入数据库
- 在selenium python中执行脚本
- 创建一个html表单并使用javascript访问中的python脚本
- 运行 python 脚本并在网站上显示打印值
- 将标志从Node/Express应用程序Python shell传递到Python脚本
- 跨站点脚本过滤器阻止了我使用python-cgi脚本将javascript变量保存到mysqldb的尝试
- 从PHP调用Python脚本
- 在nodejs中运行Python脚本
- 使用html表单作为python脚本输入的简单解决方案
- 将简单的Perl脚本翻译成Python,向客户端发送响应
- Python CGI脚本,我无法通过'+'加号运算符作为参数
- 采用HTML表单,将信息传递给Python脚本
- 如何将参数从python脚本传递到html文件并获得输出
- SystemJS导入“;基本脚本“;来自目录,类似于Python
- 只使用javascript或django调用python脚本
- 单击javascript中的按钮运行python脚本
- 使用没有URL的python脚本从网页下载文件,调用onClick函数
- 将参数从 Javascript 传递到 flask python 脚本
- 在节点中运行 python 脚本.js语法错误