2014-02-20 23 views
0

我試圖找到一個使用POST從jQuery到Python的示例,但我只找到使用ajax的答案。這裏是我的jQuery:jQuery如何POST一個Python函數?

<script> 
    $(document).ready(function(){ 

     $('#left_button').click(function(){ 
      $.post('cameraservo.py/turnCamera', {direction:"left"}) 
     }); 
     $('#right_button').click(function(){ 
      $.post('cameraservo.py/turnCamera', {direction:"right"}) 
     }); 
    }); 
</script> 

這裏是我的Python文件:

def turnCamera (self, **data): 

import pigpio 
import time 

# import serial 
# def servo_control(command): 
    # serialport= serial.Serial ("/dev/ttyACM0", 9600, timeout=0.5) 
    # serialport.write(command) 
    # return serialport.readlines(1) 

servos=[4] 
key = data['direction'] 

m=1500 
while (m >= 500 and m <= 2500): 
    if key="left": 
     m=m+100 
    else if key="right": 
     m=m-100 

pigpio.start() 

pigpio.set_servo_pulsewidth(servos[0], m) 
servostatus= "Servo {} {} micro pulses".format(servos[0], key, m) 
print servostatus 
time.sleep(1) 

pigpio.stop() 

return servostatus 

是帖子的網址格式是否正確?即$.post('cameraservo.py/turnCamera' 我有關於這個程序的另一個問題在here。謝謝!

回答

0

您需要設置絕對URL才能獲取URL。 EG:$.post('http://www.cameraservo.py/turnCamera', {direction: 'left'});

您需要設置CORS你的Python服務器(example here)上,以允許從其他域的XMLHttpRequest請求。

+1

但它不是http:// www ...它只是一個與html文件位於同一目錄中的python文件。它真的必須如此複雜嗎? – yvonnezoe

+1

在這種情況下,您的網址格式正常,您不需要CORS。 所以......這裏沒有問題:-) –

+0

好的,非常感謝! :) – yvonnezoe