我有一个像控制模块一样工作的html页面,并且有一个按钮,当点击它时会运行一个触发警报的python脚本。当我点击它时,它什么也没做。然而,我没有在开发人员工具中收到任何错误。 python代码有效,所以脚本不是问题,而是我的ajax请求。
以下是代码:
<input type='button' class="btn btn-default" value='Alarm ON' id = 'alarm'>
<script>
$("#alarm").click(function()
{
$.ajax({
type: "GET",
url: "lib/scripts/AlarmON.py",
success: function(response){}
});
})
</script>
我知道这个电话是否有效,因为我房间的闹钟响了。
编辑: 对于那些感兴趣的人,这是我的剧本:
import suds
from suds.client import Client
from suds.transport.http import HttpAuthenticated
from suds.sax.text import Raw
def main():
#Sends a network message to device to trigger an alarm
url = "http://foobar/WSDL/v4.0/iLON100.WSDL"
client = Client(url, username='ilon', password='ilon', location = 'http://foobar/WSDL/iLON100.WSDL')
xml = Raw('<Item><UCPTname>Net/MB485/PLC/Virtual Fb/y2</UCPTname><UCPTvalue>TRUE</UCPTvalue></Item>')
client.service.Write(xml)
if __name__ == "__main__":
main()
UPDATE我把document.write(&#34; hi)放在success()中,如果调用有效,它会把hi写入页面,所以我不确定发生了什么......
答案 0 :(得分:2)
你不能直接执行python脚本。看看这里: http://docs.python.org/2/howto/webservers.html
答案 1 :(得分:0)
还包括功能错误以查看会发生什么:
<script>
$("#alarm").click(function()
{
$.ajax({
type: "GET",
url: "lib/scripts/AlarmON.py",
success: function(response){
console.log(response);
},
error: function(xhr){
var status = xhr.status;
var text = xhr.statusText;
console.log( status + ': ' + text);
}
});
})
</script>