2014-02-20 24 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