你好,我有我試圖從PHP從客戶端使用AJAX調用像這樣運行python腳本:通過使用AJAX調用從PHP運行Python腳本
$.ajax({
async: false,
cache:false,
url:"callpython.php",
type: "POST",
data: "data1=" + path + "&data2=" + clr[k0],
success: function (response) {
console.log(response);
}});
裏面的代碼callpython.php
是:
<?php
exec("python myscript.py",$return);
echo json_encode($return);
?>
和內部myscript.py
的代碼是:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import string
import cgi, cgitb
from lxml import etree
from PIL import Image
pet="images/rock1.png"
petColor="59A678"
.//The rest of the code that populates the variables printed down below
.
.
.
print "Content-type: text/html"
print
print eyeSize
print displacementX
print displacementY
print distance
print textX
print textY
print sizeText
print colorText
作爲阿賈克斯的結果我得到:Array
當我運行從控制檯的PHP代碼:php callpython.php
它執行python腳本,這讓我:["Content-type: text\/html","","30","37","47","20","27","40","20","#91806F"]
但調用時,使用AJAX螢火蟲相同的php文件顯示我:[]
的結果。
那麼請您如何才能在Ajax調用中獲得與控制檯結果相同的結果?
謝謝。
您好,感謝您的答覆,我按照你的建議,現在運行php腳本fr om console我得到:'[「[」30「,」37「,」47「,」20「,」27「,」40「,」20「 ,「#91806F \」]「]'現在AJAX調用給我:'Array'而不是'[]',所以問題仍然沒有解決。 – OussamaLord
您好我修復它,這是我的Python代碼中的錯誤,我用'passthru()'函數而不是'exec()''header(「Content-type:text/html」); echo passthru(「python eyes/cgi-bin/eyes.py」);' – OussamaLord