我是一个对html, javascript, php知识有限的业余爱好者。我设置了一个树莓派微型计算机作为Web服务器。首先,我想打开一个LED,它通过网页上的一个按钮连接到Pi上。我有下面的代码工作(html文件的名称是min.php):
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>LED Control</title>
</head>
<body>
LED Control:
<form method="get" action="min.php">
<input type="submit" value="ON" name="on">
</form>
<?php
$setmode7 = system("gpio mode 7 out");
if(isset($_GET['on'])){
$gpio_on = system("gpio write 7 1");
echo "LED is on";
}
else {
echo "LED is off";
}
?>
</body>
</html>
现在我想用ajax函数重写代码,以便在单击按钮时页面不会重新加载,这里我有问题。我看了很多张贴的例子,但我就是无法克服这个困难。我将html代码修改如下:
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>LED Control</title>
</head>
<body>
<button type="button" onclick="LED_On()">LED On</button>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"><?script>
<script>
function LED_On(){
$.ajax({
url:"LED_On.php",
type:"GET",
data:"on"
});
}
</script>
</body>
</html>
LED_On.php文件包含以下代码,并存储在与html文件相同的目录中:
<?php
if(isset($_GET['on'])){
$setmode7 = system("gpio mode 7 out");
$gpio_on = system("gpio write 7 1");
echo "LED is on";
}
else {
echo "LED is off";
}
?>
点击该按钮不开启LED。
检查代码
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"><?script>
<?script>
应改为</script>