使用AJAX执行PHP代码

时间:2014-04-28 17:09:55

标签: javascript php jquery ajax

我正在为我的PLC做一个小项目。 我使用PHP打开与PLC的连接。

我创建了一个小网站,使交互变得更容易。

我希望在此网站上包含一些切换,以便向设备发送不同的命令。

我希望在不重新加载网站的情况下完成此操作,因此我的研究结果是使用AJAX。

现在我已经尝试了使用普通按钮和切换的AJAX onclick事件的多个教程....但是他们都没有给我我想要的结果。

完成我需要的最简单方法是什么?

当按下按钮时,我需要执行这个PHP代码

      $plc->WriteBit("E", 0, 0, 0, 1);

再次按下该按钮时,我需要执行此操作

      $plc->WriteBit("E", 0, 0, 0, 0);

所有这一切都应该无需重新加载网站即可。

就像我说的,我真的不知道如何直接从AJAX解析这个PHP代码。我希望有人能把我推向正确的方向!

谢谢!

2 个答案:

答案 0 :(得分:0)

首先,您必须在按钮点击时发送ajax请求。为此你可以使用jQuery。

<button type="button" onclick="callAjax();" value="My Button">My Button</button>

在callAjax()函数中,您可以向php页面发送ajax请求。

function callAjax(){ //your ajax call will come here }

你可以在这里查看jQuery ajax api https://api.jquery.com/jQuery.ajax/

在你的PHP页面中打印上述功能的响应。

echo ($anyFlag == 1)? $plc->WriteBit("E", 0, 0, 0, 1) : $plc->WriteBit("E", 0, 0, 0, 0);

在jQuery ajax调用的成功方法中,您可以检查响应并做出相应的反应。

答案 1 :(得分:0)

尝试这样的事情:

多个按钮/地址:

<input type='button' name='writeA' value='WRITE BIT A' data-bit='1' data-address='000' class='plc'>
<input type='button' name='writeB' value='WRITE BIT B' data-bit='0' data-address='001' class='plc'>
<div id='output'></div>

jQuery的:

$(document).on('click', 'input.plc', function() {
    var bit = parseInt($(this).attr('data-bit'));
    var address = $(this).attr('data-address');
    $('#output').load('plc.php', {'bit':bit, 'address':address});
    $(this).attr('data-bit', bit^1);    // xor bit to toggle value
});

PHP脚本(plc.php):

$bit = isset($_POST["bit"]) ? $_POST["bit"] : 0;
$address = isset($_POST["address"]) ? $_POST["address"] : '000';
$lst_address = str_split($address);
$plc->WriteBit("E", $lst_address[0], $lst_address[1], $lst_address[2], $bit);    // or use an 'if' or 'switch' statement    
echo $bit;