我正在使用一些屏幕按钮编写一个用于控制串口的php页面。当我按下一个按钮时,它会通过串口发送一些数据并显示其响应。这一切都运转正常。
现在,我需要不断收听串口,以便接收我没有要求的数据。我正在尝试使用javascript中的计时器,但每次我通过AJAX执行PHP代码时,串口重新启动并刷新其缓冲区。我需要在完成PHP代码的执行之前将控制串口的对象传递给javascript代码。当按下按钮时,我需要将此对象传递给新的PHP代码。
我该怎么做?
非常感谢
答案 0 :(得分:0)
结帐:http://php.net/manual/en/language.oop5.serialization.php
您应该传递序列化对象,或者为了在会话之间保持串行对象存活,将其存储在文本文件中。在AJAX
端,将其存储为Global [WINDOW] variable
。如
window.serialphpobject = data;
然后在下一个AJAX调用中使用此数据
{object: window.serialphpobject}
所有例如显而易见的是,如果没有看到您的代码,我就无法完全适应它。
答案 1 :(得分:0)
首先在代码中创建一个全局js变量。 当你第一次进行ajax调用时,然后在你的js变量中存储响应。
所以每当你需要通过ajax传递那个全局js变量时。
您可以使用
创建窗口级别js全局变量window.myVariable="";
确保在发送任何js请求之前定义此变量
答案 2 :(得分:0)
我需要在完成PHP代码的执行之前将控制串口的对象传递给javascript代码。当按下按钮时,我需要将此对象传递给新的PHP代码。
此解决方案容易受到攻击。您应该将信息保存在PHP会话中。
答案 3 :(得分:0)
我发现这是不可能完成的:当PHP代码完成执行时,串口会自动关闭,所以我丢失了所有收到的数据,直到我再次打开端口。